<template> <div> <el-dialog v-dialogDrag title="工作流展示" :visible.sync="workflowVisible" width="80%" @close="handleCloseMessage" destroy-on-close :modal-append-to-body="false" v-if="workflowVisible"> <div class="contentTable"> <el-table :data="wfeList.data" style="width: 100%"> <el-table-column label="序号" width="80px"> <template slot-scope="scope"> {{ scope.$index+1 }} </template> </el-table-column> <el-table-column v-for="(item, index) in wfeList.columns" :label="item.label" :prop="item.prop" :key="index" :width="item.width"> <template slot-scope="scope"> <span v-if="item.prop==='srv'"> {{ getCodelabel(scope.row[item.prop],"srvtxt") }} </span> <span v-else-if="item.prop==='sta'"> {{ formatter(scope.row[item.prop]) }} </span> <span v-else> {{ scope.row[item.prop] }} </span> </template> </el-table-column> </el-table> </div> </el-dialog> <!-- 报文 --> <el-dialog v-dialogDrag :visible.sync="messageDetailVisible" center class="preview" destroy-on-close title="报文" width="60%" :modal-append-to-body="false" v-if="messageDetailVisible"> <div v-if="previewType === 'pdf'" style="height: 100%;"> <object class="printEm" :data="viewPdfUrl+'#toolbar=0'" type="application/pdf" width="100%" height="100%" ></object> <!-- <iframe :src="viewPdfUrl+'#toolbar=0'" frameborder="0" height="100%" width="100%"></iframe> --> </div> <div v-else> <pre v-html="textContext"></pre> </div> </el-dialog> </div> </template> <script> import Api from "~/service/Api"; export default { props: { visible: { type: Boolean, default: false } }, data() { return { workflowVisible: false, messageData: [], modelVisible: false, modelInfo: {}, opType: "", messageDetailVisible: false, previewType: "", textContext: "", dbCodes:{ srvtxt:[] }, wfeList: { columns: [ { label: "服务", prop: "wfssub" ,width:"110px" }, { label: "名称", prop: "srv" ,width:"110px" }, { label: "交易状态", prop: "sta" ,width:"110px" }, { label: "最新更新", prop: "dattim" ,width:"180px" }, { label: "重试", prop: "retdur" ,width:"110px" }, {label: "目标时间",prop: "tardattim",width:"180px" }, { label: "备注1", prop: "txt" ,width:"310px" }, { label: "备注2", prop: "txt2" ,width:"210px" } ], data: [] }, }; }, mounted() { this.getdbCode('srvtxt','','srvtxt'); }, methods: { async getdbCode(codeType, uil, codeNam) { let params = { codeType: codeType, uil: uil ? uil : 'EN' } let rtnmsg = await Api.post("/manager/dic/listDicInfo", params) if (rtnmsg.respCode === SUCCESS) { let srvtxt = rtnmsg.data.map(item => ({ value: item.codeValue, label: item.codeName })); this.dbCodes[codeNam] = srvtxt } }, getCodelabel(value,codenam) { const codeobj = this.dbCodes[codenam].find(obj => obj.value === value) return codeobj ? codeobj.label : value; }, async init() { this.workflowVisible=true; let params = { trninr: this.$route.query.businessInr }; let rtnmsg = await Api.post("/public/quesel/getWfeInfo", params); if (rtnmsg.respCode == SUCCESS) { this.wfeList.data = rtnmsg.data.wfeList; } }, handleCloseMessage() { this.$emit("onClose"); }, formatter(val) { let label; let wfetrssta = [ { label: "Done", value: "D" }, { label: "发布", value: "1" }, { label: "Cancel", value: "C" }, { label: "Error", value: "E" }, { label: "Open", value: "O" }, { label: "建立", value: "6" }, { label: "Waiting", value: "W" }, { label: "拒绝", value: "2" }, { label: "有效", value: "A" }, { label: "外部确认", value: "5" }, { label: "Skip", value: "S" }, { label: "需求修改", value: "3" }, { label: "创建时签名", value: "4" }, { label: "Retry", value: "R" } ]; for (let i of wfetrssta) { if (i.value === val) { label = i.label; break; } } return label; }, onClose() { this.modelVisible = false; } } }; </script> <style scoped lang="less"> </style>