Infsea.vue 15.1 KB
<template>
    <div class="eibs-tab">
        <c-list-search @form-reset="handleReset" @form-search="handleSearch">
            <!-- 持续展示区 -->
            <template v-slot="searchSlot">
                <el-form class="m-table-search-form" ref="paramsForm" :inline="true" label-position="right"
                    label-width="110px" size="small">
                    <c-row>
                        <c-col :span="24">
                            <c-col :span="8">
                                <el-form-item label="Own Reference" prop="infcon.seaownref" style="width: 100%">
                                    <c-input v-model="model.infcon.seaownref" maxlength="16"
                                        placeholder="请输入Own Reference">
                                    </c-input>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Opening between" prop="infcon.opndatfrom" style="width: 100%">
                                    <c-col :span="11">
                                        <c-date-picker type="date" v-model="model.infcon.opndatfrom" style="width:100%"
                                            placeholder="请选择Opening between"></c-date-picker>
                                    </c-col>
                                    <c-col :span="2" style="text-align: center">
                                        <label style="display: inline-block; width: 100%">-</label>
                                    </c-col>
                                    <c-col :span="11">
                                        <c-date-picker type="date" v-model="model.infcon.opndatto" style="width:100%"
                                            placeholder="请选择Open Date to"></c-date-picker>
                                    </c-col>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Party Reference" prop="infcon.searef" style="width: 100%">
                                    <c-input v-model="model.infcon.searef" maxlength="16"
                                        placeholder="请输入Party Reference">
                                    </c-input>
                                </el-form-item>
                            </c-col>
                        </c-col>
                    </c-row>
                    <c-row v-show="searchSlot.searchToggle">
                        <c-col :span="24">
                            <c-col :span="8">
                                <el-form-item label="Name" prop="infcon.nam" style="width: 100%">
                                    <c-input v-model="model.infcon.nam" maxlength="40" placeholder="请输入Name"></c-input>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Party Name" prop="infcon.pty.nam" style="width: 100%">
                                    <c-input v-model="model.infcon.pty.nam" maxlength="40" placeholder="请输入Party Name">
                                    </c-input>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Party Name/BIC" prop="infcon.seapty" style="width: 100%">
                                    <c-input v-model="model.infcon.seapty" maxlength="24"
                                        placeholder="请输入Party Name/BIC">
                                    </c-input>
                                </el-form-item>
                            </c-col>
                        </c-col>
                        <c-col :span="24">
                            <c-col :span="8">
                                <el-form-item label="Select Single Party" prop="infcon.pty.extkey" style="width: 100%">
                                    <c-input v-model="model.infcon.pty.extkey" maxlength="24"
                                        placeholder="请输入Select Single Party"></c-input>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Resp.User" prop="infcon.usr.extkey" style="width: 100%">
                                    <c-input v-model="model.infcon.usr.extkey" maxlength="8" placeholder="请输入Resp.User">
                                    </c-input>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Role" prop="infcon.searol" style="width: 100%">
                                    <c-select v-model="model.infcon.searol" style="width:100%" placeholder="请选择Role">
                                        <el-option v-for="item in codes.searol2" :key="item.value" :label="item.label"
                                            :value="item.value">
                                        </el-option>
                                    </c-select>
                                </el-form-item>
                            </c-col>
                        </c-col>
                        <c-col :span="24">
                            <c-col :span="8">
                                <el-form-item label="Status" prop="infcon.seasta" style="width:100%">
                                    <c-select v-model="model.infcon.seasta" style="width:100%" placeholder="请选择Status">
                                        <el-option v-for="item in codes.seasta" :key="item.value" :label="item.label"
                                            :value="item.value">
                                        </el-option>
                                    </c-select>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Amount between" prop="infcon.seaamtfr" style="width: 100%">
                                    <c-col :span="11">
                                        <c-input v-model="model.infcon.seaamtfr" placeholder="请输入Amount between">
                                        </c-input>
                                    </c-col>
                                    <c-col :span="2" style="text-align: center">
                                        <label style="display: inline-block; width: 100%">-</label>
                                    </c-col>
                                    <c-col :span="11">
                                        <c-input v-model="model.infcon.seaamtto" placeholder="请输入Amount to"></c-input>
                                    </c-col>
                                </el-form-item>
                            </c-col>
                            <c-col :span="8">
                                <el-form-item label="Currency" prop="infcon.seacur" style="width:100%">
                                    <c-select v-model="model.infcon.seacur" style="width:100%"
                                        placeholder="请选择Currency">
                                        <el-option v-for="item in codes.curtxt1" :key="item.value" :label="item.label"
                                            :value="item.value">
                                        </el-option>
                                    </c-select>
                                </el-form-item>
                            </c-col>
                        </c-col>
                        <c-col :span="24">
                            <c-col :span="8">
                                <el-form-item label="Payment Disposition " prop="seadoctypcod" style="width:100%">
                                    <c-select v-model="model.seadoctypcod" style="width:100%"
                                        placeholder="请选择Payment Disposition ">
                                        <el-option v-for="item in codes.colflg" :key="item.value" :label="item.label"
                                            :value="item.value">
                                        </el-option>
                                    </c-select>
                                </el-form-item>
                            </c-col>
                        </c-col>
                    </c-row>
                </el-form>
            </template>
        </c-list-search>
        <c-col :span="24" style="margin-top: 10px">
            <c-button class="medium_bcs" size="medium" style="margin-left: 0px" type="primary" @click="toCltdav">开立
            </c-button>
        </c-col>

        <c-col :span="24">
            <c-istream-table :list="stmData.data" :columns="stmData.columns">
                <el-table-column fixed="right" prop="op" label="操作" width="150px">
                    <template slot="header">
                        <c-col :span="11" style="text-align: left"><span>操作</span></c-col>
                        <c-col :span="12" style="text-align: right">
                            <c-button icon="el-icon-s-tools"></c-button>
                        </c-col>
                    </template>
                    <template slot-scope="scope">
                        <el-popover placement="top-start" title="历史信息" width="800" trigger="click"
                            :ref="'popover_' + scope.row.IDX">
                            <div style=" text-align: right; margin-top: -30px; margin-right: 5px; font-size: 16px;">
                                <span class="el-icon-close" @click="closeTrn('popover_' + scope.row.IDX)" />
                            </div>
                            <c-istream-table :list="trnData.data" :columns="trnData.columns">
                                <el-table-column prop="op" label="操作" width="0">
                                    <template slot-scope="scope">
                                        <c-button style="margin-left: 0" size="small"
                                            @click="display(scope.row['INR'])">详情</c-button>
                                    </template>
                                </el-table-column>
                            </c-istream-table>
                            <c-button style="margin-left: 0" size="small" @click="getTrnInfo(scope.$index, scope.row)"
                                slot="reference">详情</c-button>
                        </el-popover>
                        <c-button style="margin-left: 0" size="small" type="primary"
                            @click="getButtons(scope.row['Reference'])">处理
                        </c-button>
                    </template>
                </el-table-column>
            </c-istream-table>
        </c-col>

        <m-busbtn ref="childs" :ownref="ownref" :model="CltselModel" ownrefPath="cldgrp" trnCode="cltsel"
            @onChoose="onChoose">11</m-busbtn>




    </div>
</template>
<script>
import Api from "~/service/Api"
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable"
import Event from "~/model/Infcld/Event"

import CltselModel from "~/model/Cltsel"
import BusNavbar from "~/views/Public/BusNavbar";

export default {
    inject: ['root'],
    props: ["model", "codes"],
    mixins: [commonProcess],
    components: { "m-busbtn": BusNavbar },
    data() {
        return {
            CltselModel: new CltselModel().data,
            ownref: "",
            initdialog: false,
            transactionStatus: {
                busiNo: "",
                modTimes: 0,
                postCount: 0,
                accCount: 0,
                earnCount: 0,
                earnAmt: 0
            },
            trnData: {
                columns: [
                    '1 1 "编号" 200',
                    '2 2 "交易名称" 120',
                    // '3 3 "日期" 200',
                    { index: 3, position: 3, width: 110, pattern: 'date', label: '日期' },
                    // '4 4 "状态" 50',
                    { index: 4, position: 4, width: 100, pattern: 'code', label: '状态', code: this.codes.relstaEN },
                    '5 5 "币种" 80',
                    '6 6 "金额" 110',
                ],
                data: [],
            },
            stmData: {
                columns: [
                    "1 1 \"Reference\" 150",
                    "2 2 \"Resp. User\" 150",
                    "3 5 \"Opened\" 200 4 7",
                    "4 6 \"Closed\" 200 4 7",
                    "5 3 \"Party Number\" 150",
                    "6 4 \"Collecting Bank\" 180",
                    "7 7 \"Doc.Amount Cur\" 150",
                    "8 8 \"Doc.Amount\" 150 8 1 7",
                    "9 9 \"Open Amount Cur\" 150",
                    "10 10 \"Open Amount\" 150 2 8 1 9",
                ],
                data: [
                ]
            }
        }
    },
    methods: {
        ...Event,
        async getButtons(ownref) {
            this.$refs.childs.initdialog = true
            this.ownref = ownref
            console.log("ownref:" + ownref);
        },
        async onChoose(code) {
            //跳转交易
            this.$router.history.push("/business/" + code)
            this.$refs.childs.initdialog = false
        },
        closeTrn(refId) {
            this.$refs[refId].doClose();
        },
        async getTrnInfo(idx, row) {

            this.model.infcon.objinr = row["INR"];
            this.model.infcon.cldgrp.rec.inr = row["INR"];
            this.model.infcon.chksubcon = "X";

            let rtnmsg = await this.executeDefault("infcon.chksubcon");
            if ((rtnmsg.respCode = SUCCESS)) {
                this.trnData.data = rtnmsg.data.infcon_trnstm.rows;
                console.log(this.trnData.data);
            }
        },
        async getDitSelInfo(idx, row) {
            //TD中选中行触发
            var params = { selDst: "infbut.dspstm", selIds: [idx + 1] }
            let rtnmsg = await this.executeRule("infbut.dspstm", params);
            if (rtnmsg.respCode = SUCCESS) {
                this.updateModel(rtnmsg.data);
                // Utils.copyValueFromVO(this.model, rtnmsg.data);
                //TD中点击display时触发
                params = { selDst: "infbut.dsp", selIds: [idx + 1] }
                let rtnmsgNew = await this.executeRule("infbut.dsp", params);

                if (rtnmsgNew.respCode = SUCCESS) {
                    console.log(rtnmsgNew);
                    this.updateModel(rtnmsgNew.data);

                    let rtnmsgOitset = await this.executeDefault("mtabut.coninf.oitset.oit");

                    if (rtnmsgOitset.respCode = SUCCESS) {
                        Utils.copyValueFromVO(this.model, rtnmsgOitset.data);

                    }

                }
            }
            //触发父组件中updateShowPanel 事件,修改index中showPanel ,控制 index中组件的显示和隐藏
            this.$emit('updateShowPanel', true)

        },
        toCltdav() {
            this.$router.history.push("/business/cltdav")
        }
    },
    created: function () {

    }
}
</script>
<style>
</style>