<template>
    <div class="eibs-tab">
        <c-col :span="24" style="">
            <c-istream-table-docpan :list="stmData.data" :columns="stmData.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.uiltxt1" :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="handleDisplay(scope.row.index, scope.row, model.trnmod.trndoc.doceot[scope.row.idx])" 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-docpan>
        </c-col>
        <c-col :span="12" style="margin-top:20px">
            <c-col :span="24">
                <el-form-item label="国内证落款" prop="trnmod.trndoc.advnam" v-if="root.trnName=='DITCAN' || root.trnName == 'BDTSET' || root.trnName == 'TRTAME' || root.trnName == 'TRTSET' || root.trnName == 'DETOPN' || root.trnName == 'DETAME' || root.trnName == 'BFTDRV' || root.trnName == 'BFTSND' || root.trnName == 'BPTOPN' || root.trnName == 'BPTAME' || root.trnName == 'BPTSET' || root.trnName == 'BFTACC' || root.trnName == 'DFTAME' || root.trnName == 'DFTSET'">
                    <c-input v-model="model.trnmod.trndoc.advnam" maxlength="50" placeholder="请输入"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="24">
                <el-form-item label="修改申请人名称" prop="trnmod.trndoc.amdapl" v-if=" root.trnName== 'detame' || root.trnName == 'bftsnd'">
                    <c-input v-model="model.trnmod.trndoc.amdapl" maxlength="100" placeholder="请输入"></c-input>
                </el-form-item>
            </c-col>
            <c-col :span="24">
                <el-form-item label="国内证通知书" prop="trnmod.trndoc.advdoc" v-if=" root.trnName== 'detopn' || root.trnName == 'detame'">
                    <c-select v-model="model.trnmod.trndoc.advdoc" placeholder="请选择" style="width: 100%" :code="codes.trndoc_advdoc">
                    </c-select>
                </el-form-item>
            </c-col>
        </c-col>
        <template>
            <el-dialog :title="title" :visible.sync="centerDialogVisible" width="60%" center>
                <el-form label-width="100px" :model="dialog" :disabled="suppress">
                    <c-row>
                        <c-col :span="12">
                            <c-col>
                                <el-form-item label="介质">
                                    <c-select disabled v-model="dialog.cortyp" :code="codes.doceotCortyp">
                                    </c-select>
                                </el-form-item>
                            </c-col>
                            <c-col>
                                <el-form-item label="表单集合">
                                    <!-- <el-input
                                        disabled
                                        v-model="dialog.cortyp"
                                    /> -->
                                    <c-select disabled v-model="dialog.cortyp" :code="codes.doceotCortyp">
                                    </c-select>
                                </el-form-item>
                            </c-col>
                            <c-col v-if="title != 'elcs.101.001.01'">
                                <el-form-item>
                                    <el-input disabled style="width: 150px" value="Original" />
                                    <el-input v-model="dialog.apfcpy1" style="width: 100px; margin-left: 20px" />
                                </el-form-item>
                                <el-form-item>
                                    <el-input disabled style="width: 150px" value="Customer Copy" />
                                    <el-input v-model="dialog.apfcpy2" style="width: 100px; margin-left: 20px" />
                                </el-form-item>
                                <el-form-item>
                                    <el-input disabled style="width: 150px" value="File Copy" />
                                    <el-input v-model="dialog.apfcpy3" style="width: 100px; margin-left: 20px" />
                                </el-form-item>
                                <el-form-item>
                                    <el-input disabled style="width: 150px" value="Internal Copy" />
                                    <el-input v-model="dialog.apfcpy4" style="width: 100px; margin-left: 20px" />
                                </el-form-item>
                            </c-col>
                        </c-col>

                        <c-col :span="12">
                            <el-form-item label="发送至" label-width="150px">
                                <!-- <el-input disabled v-model="dialog.roladr" /> -->
                                <c-select disabled v-model="dialog.roladr" :code="codes.payrol">
                                </c-select>
                            </el-form-item>
                            <el-form-item label-width="150px" v-if="title == 'elcs.101.001.01'">
                                <c-fullbox>
                                    <c-input v-model="dialog.rcv.pts.extkey" @keyup.enter.native="
                                        showGridPromptDialog('trnmod.trndoc.doccur.rcv.pts.extkey')
                                    " />
                                    <template slot="footer">
                                        <c-button size="small" type="primary" icon="el-icon-search"></c-button>
                                        <c-button size="small" type="primary">
                                            详情
                                        </c-button>
                                    </template>
                                </c-fullbox>
                            </el-form-item>
                            <el-form-item v-else label="BIC编码" label-width="150px">
                                <el-input v-model="dialog.rcv.pts.extkey" />
                            </el-form-item>
                            <el-form-item v-if="title == 'elcs.101.001.01'||(title != 'elcs.101.001.01'&&dialog.rcv.pts.bankno!='')" label="联行行号" label-width="150px">
                                <el-input v-model="dialog.rcv.pts.bankno" />
                            </el-form-item>
                            <el-form-item label-width="30px">
                                <el-input :value="
                                        title == 'elcs.101.001.01'
                                            ? dialog.rcv.namelc
                                            : dialog.rcv.pts.jigomc
                                    " :disabled="title != 'elcs.101.001.01'" type="textarea" :rows="2" />
                                <br />
                                <el-input :value="
                                        title == 'elcs.101.001.01'
                                            ? dialog.rcv.adrelc
                                            : dialog.rcv.pts.dizzhii
                                    " :disabled="title == 'MT799'" type="textarea" :rows="2" />
                            </el-form-item>
                            <el-form-item label="参考号" label-width="100px">
                                <el-input disabled v-model="dialog.adrref" />
                            </el-form-item>
                            <el-form-item label="介质" label-width="100px">
                                <!-- <el-input
                                    disabled
                                    style="width: 40%"
                                    v-model="dialog.cortyp"
                                /> -->
                                <c-select disabled style="width: 40%" v-model="dialog.cortyp" :code="codes.doceotCortyp">
                                </c-select>
                                <!-- <el-input
                                    disabled
                                    v-model="dialog.docuil"
                                    style="width: 40%; margin-left: 20px"
                                /> -->
                                <c-select disabled style="width: 40%; margin-left: 20px" v-model="dialog.docuil" :code="codes.payuil">
                                </c-select>
                            </el-form-item>
                        </c-col>

                        <c-col>&nbsp;</c-col>
                        <c-col :span="12" v-if="title != 'MT799'">
                            <el-form-item label="地址修改" label-width="120px">
                                <el-input type="textarea" v-model="dialog.adrblk" :rows="4" />
                            </el-form-item>
                        </c-col>
                        <c-col :span="12" v-else>
                            <el-form-item label="BIC编码">
                                <el-input disabled v-model="dialog.adrbic" />
                            </el-form-item>
                            <el-form-item label="Authenticator">
                                <el-input disabled v-model="dialog.adrbicaut" /></el-form-item>
                            <el-form-item label="优先级">
                                <el-input disabled v-model="dialog.msgpri" /></el-form-item>
                        </c-col>
                        <c-col :span="12">
                            <el-form-item label-width="30px">
                                <el-table :data="dialog.rcv.ptyinftxt.rows" size="mini" stripe :border="true" empty-text=" " max-height="430px">
                                    <el-table-column label="报文类型" sortable>
                                    </el-table-column>
                                    <el-table-column label="地址" sortable>
                                    </el-table-column>
                                    <el-table-column label="Authentication" sortable>
                                    </el-table-column>
                                </el-table>
                            </el-form-item>
                        </c-col>
                        <c-col v-if="title != 'MT799'">
                            <el-form-item label="面函日期">
                                <el-date-picker type="date" v-model="dialog.docdat">
                                </el-date-picker>
                            </el-form-item>
                        </c-col>
                        <c-col v-if="this.suppress!=true">
                            <el-form-item label="Contact">
                                <el-input v-model="dialog.ptcnam" /></el-form-item>
                        </c-col>
                        <c-col :span="22" v-if="this.suppress!=true">
                            <el-form-item :label="
                                    title == 'MT799'
                                        ? 'Sender to Rec. information'
                                        : 'Remark'
                                ">
                                <div v-if="title == 'MT799'">
                                    <el-input type="textarea" :rows="10" disabled v-model="dialog.addtxt" />
                                </div>
                                <div v-else>
                                    <el-input type="textarea" :rows="10" v-model="dialog.addtxt" />
                                </div>
                            </el-form-item>
                        </c-col>
                        <c-col :span="2" v-if="this.suppress!=true">
                            <c-button size="mini" icon="el-icon-more"> </c-button>
                        </c-col>
                    </c-row>
                </el-form>
                <template #footer>
                    <span class="dialog-footer">
                        <c-button type="primary" @click="saveDialog">确 定</c-button>
                        <c-button type="primary" @click="activateDialog" v-if="dialog.delflg=='D'">应用</c-button>
                        <c-button type="primary" @click="suppressDialog" v-else-if="dialog.lev=='1'||dialog.mliflg!=''">禁用</c-button>
                        <c-button type="primary" @click="activateDialog" v-else>删除</c-button>
                        <c-button @click="centerDialogVisible = false">取 消</c-button>
                    </span>
                </template>
            </el-dialog>
        </template>
    </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import Utils from "~/utils/index";
import Factory from "./Factory";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [commonProcess],
  data() {
    return {
      index: 0,
      title: "",
      dialog: {
        rcv: {
          pts: {},
          ptyinftxt: {}
        }
      },
      centerDialogVisible: false,
      stmData: {
        columns: [
          //注释的已改成静态
          "role 收报人 70px",
          "pandsc 描述 250px"
          //"cortyp 类型",
          //"docsnf 报文格式",
          //"docuil 语言",
          //"apf 传送方式"
        ],
        data: []
      },
      suppress: false
    };
  },
  methods: {
    async processDocpan() {
      // console.log("111111sss")
      


      // console.log("11222221111sss")
      // console.log(this.model)

      let transName = "gitopn";
      let buildData = Factory[transName];
      //   if (!buildData) {
      //     //提示未注册的费用计算处理
      //     this.$notify.error({ title: "错误", message: "未注册的费用计算处理!" });
      //   }
      let docpanBuildObj = new buildData(this.model);
      docpanBuildObj.buildDocpan();
      //   let trnmod = docpanBuildObj.trnmod;
      //   发出API请求
      const loading = this.loading("正在请求数据");
      const rulePath = "/business/trnmod/assertTrnmod";
      let rtnmsg = await Api.post(rulePath, this.model.trnmod);
        if (rtnmsg.respCode == SUCCESS) {
      Utils.copyValueFromVO(this.model.trnmod, rtnmsg.data);
    //   this.model.trnmod.liaccv.liaccvg = this.model.trnmod.trnmod;
        }
      loading.close();
    },


    async handleDisplay(index, row,doceot){
            //后续要根据快照模式切换请求方式
            let cortyp = row.cortyp
            let docuil = doceot.docuil;
            let docnam = doceot.docnam||'';
            docnam = docnam.substr(docnam.indexOf("\\")+1).toLowerCase().replaceAll("\\","_");
            let rtnmsg
            // if (cortyp == 'SWT' || cortyp == 'FMT' || cortyp == 'CMT') {
            //     // this.model.setmod.msgmod.doccod = row.id
            //     rtnmsg = await Api.post(`${this.requestPrefix}/msgmod_butshw`, this.wrapper())
            // } else {
            //     // this.model.trnmod.trndoc.doccod = row.id
            //     // this.model.trnmod.trndoc.cortyp = cortyp
                
            // }
            const params = {
                index: row.idx
            }
            rtnmsg = await Api.post(`${this.requestPrefix}/executeDocpan`, this.wrapper(params))
            if (rtnmsg.respCode == SUCCESS) {
                if (cortyp == 'SWT' || cortyp == 'FMT' || cortyp == 'CMT') {
                    // let viewurl = rtnmsg.data.setmod_msgmod_docpth;
                    let viewurl = "/#/docpan/swift";
                    // this.viewurl = viewurl
                    // window.sessionStorage.docTXT = rtnmsg.data.lidgrp_blk_feetxt + rtnmsg.data.lidgrp_blk_insbnk ;
                    let doctxt = rtnmsg.data.trnmod_trndoc_doceot[index]['doctxt']
                    window.sessionStorage.docTXT = doctxt.rows.filter(d => d != '').join('\n')
                    this.title = "报文"
                    window.open(viewurl, 'newwindow', 'height=1200,width=800,top=100,left=100,toolbar=no,resizable=no,menubar=no,location=no, status=no');
                }
                else if (cortyp == 'ELC') {
                    Modal.info({
                        title: '电证报文', content: <div style={{ height: 400, overflow: 'auto' }}><ELCMessage mty={row.id} message={rtnmsg.data["\\trnmod\\trndoc\\docinf"]} /></div>,
                        width: 1000,
                    })
                }
                else {
                    // let url = rtnmsg.data.trnmod_trndoc_smh_docpth;
                    this.title = "面函"
                    let viewurl = "/#/docpan/show";
                    let XMLdata;
                    if (row.pandsc.startsWith("elcs.")) {
                        window.sessionStorage.docXML = ''
                        window.sessionStorage.docTXT = ''
                        rtnmsg.data.trnmod_trndoc_doceot[row.idx].doctxt.rows.forEach(element => {
                            window.sessionStorage.docTXT += element + "\r\n"
                        });
                    }
                    else if (row.pandsc == "MT799") {
                        window.sessionStorage.docTXT = ''
                        XMLdata = rtnmsg.data.litbenl1blk
                    }
                    else{
                        //参考后台Doceot.butshw order=1000
                        let execution = 'P', structure = 'l'
                        let attr = DocUtils.getDocAttribute(docnam,structure,execution)
                        console.log(attr);
                        window.sessionStorage.docTXT = ''
                        window.sessionStorage.docXML = rtnmsg.data[attr];
                        window.sessionStorage.docuil = doceot.docuil;
                    }
                    // console.log( window.sessionStorage.docTXT);
                    // console.log( window.sessionStorage.docXML);
                    window.open(viewurl, 'newwindow', 'height=1200,width=800,top=100,left=100,toolbar=no,resizable=no,menubar=no,location=no, status=no');
                }
                this.dialogOpen = true
            }
            else {
                this.$notify.error({ title: '错误', message: '服务请求失败!' })
            }
        },
        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
            }
        }
  },
  created: function() {}
};
</script>