<template> <div class="eibs-tab"> <!-- =================左边====================== --> <c-col :span="12"> <el-form-item label="不符点" prop="bddgrp.blk.docdis"> <c-col :span="21"> <c-input type="textarea" v-model="model.bddgrp.blk.docdis" :disabled="!model.bddgrp.blk.docdisflg" maxlength="50" show-word-limit placeholder="请输入不符点"></c-input> </c-col> <c-col :span="3" style="text-align: right"> <!-- <el-form-item label-width="0"> --> <c-button size="small" type="primary" icon="el-icon-search" style="margin-left: 0" @click="onDocdisButtxmsel" :disabled="!model.bddgrp.blk.docdisflg"></c-button> <!-- </el-form-item> --> </c-col> </el-form-item> <c-col :span="24"> <el-form-item label="注释和结论" prop="bddgrp.blk.comcon"> <c-input type="textarea" v-model="model.bddgrp.blk.comcon" maxlength="65" show-word-limit placeholder="请输入注释和结论"></c-input> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="到期付款确认备注" prop="bddgrp.blk.accrmk"> <c-input type="textarea" v-model="model.bddgrp.blk.accrmk" maxlength="65" show-word-limit placeholder="请输入到期付款确认备注"></c-input> </el-form-item> </c-col> </c-col> <!-- =================右边====================== --> <c-col :span="12"> <c-col :span="24"> <c-col :span="12"> <c-col :span="12"> <el-form-item label="" prop="bddgrp.rec.igndisflg"> <c-checkbox v-model="model.bddgrp.rec.igndisflg">忽略不符点</c-checkbox> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="" prop="bddgrp.blk.docdisflg"> <c-checkbox v-model="model.bddgrp.blk.docdisflg" @change="docdis">录入不符点</c-checkbox> </el-form-item> </c-col> </c-col> </c-col> <c-col :span="24"> <el-form-item label="收到的通知类型" prop="bddgrp.rec.advtyp"> <c-select v-model="model.bddgrp.rec.advtyp" style="width: 100%" placeholder="请选择收到的通知类型" disabled> </c-select> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="付款日期" prop="bddgrp.rec.totdat"> <c-date-picker type="date" v-model="model.bddgrp.rec.totdat" style="width: 100%" placeholder="请选择付款日期" disabled> </c-date-picker> </el-form-item> </c-col> <c-col :span="24"> <el-form-item label="不符点通知日期" prop="bddgrp.rec.disdat"> <c-date-picker type="date" v-model="model.bddgrp.rec.disdat" style="width: 100%" placeholder="请选择不符点通知日期" disabled> </c-date-picker> </el-form-item> </c-col> <c-col :span="24"> <c-col :span="12"> <c-col :span="12"> <el-form-item label="" prop="bddgrp.rec.approvcod"> <c-checkbox v-model="model.bddgrp.rec.approvcod">议付行担保协议</c-checkbox> </el-form-item> </c-col> <c-col :span="12"> <el-form-item label="" prop="bdtp.cre732flg"> <c-checkbox v-model="model.bdtp.cre732flg" disabled>创建 MT 732</c-checkbox> </el-form-item> </c-col> </c-col> </c-col> </c-col> <!-- =================已交单据====================== --> <c-docpre :model="model" :argadr="{ path: 'bddgrp.blk.prsdoc', grp: 'bdtp', code: 'prsdoc' }"></c-docpre> <!-- 不符点 --> <c-col> <el-dialog :visible.sync="InsertErrorDialogVisibal" center width="500px"> <c-col :span="24"> <c-col :span="20"> <el-form-item label="不符点" label-width="100px"> <c-input v-model="newInsertError"></c-input> </el-form-item> </c-col> </c-col> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="InsertError()">确定</el-button> <el-button @click="InsertErrorDialogVisibal = false; newInsertError = ''">取消</el-button> </span> </el-dialog> </c-col> <OcrRecognition ref="ocrRecognition" v-on:confirm="selectGridPDF"></OcrRecognition> </div> </template> <script> import Api from "~/service/Api"; import commonProcess from "~/mixin/commonProcess"; import CodeTable from "~/config/CodeTable"; import Event from "~/model/Ditdck/Event"; import OcrRecognition from "./OcrRecognition.vue"; import Utils from "~/utils"; import Docpre from "~/views/Public/Docpre"; export default { inject: ["root"], props: ["model", "codes"], mixins: [commonProcess], components: { OcrRecognition , "c-docpre": Docpre,}, data() { return { addDialogVisible: false, InsertErrorDialogVisibal: false, InsertGridDataDialogVisibal: false, newInsertError: "", newInsertErrorIndex: -1, newInsertGridData: "", dialog: { cmail1: "", cmail2: "", docnam: "", state: "", }, liData: ["增值税发票", "发票", "装箱单", "空运单", "海运提单", "铁路运单", "货物收据", "邮政收据", "出库单", "保险单", "质检证", "受益人证明"], docgrdDataStore: [ { id: "invoice", cmail1: "1", cmail2: "", docnam: "发票", state: "缺失", }, { id: "receipt", cmail1: "1", cmail2: "", docnam: "货物收据", state: "缺失", }, { id: "oceanShipping", cmail1: "1", cmail2: "", docnam: "海运提单", state: "缺失", }, ], docgrdData: [], gridData: [ { id: "invoice", data: [ { name: "KZ3500220597AA-001.pdf", errorData: [ { discribe: "发票金额不符", state: true }, { discribe: "发票非原始正本", state: true }, { discribe: "未批注交单情况", state: true }, ] } ], }, { id: "receipt", data: [ { name: "KZ3500220597AA-002.pdf", errorData: [ { discribe: "货物收据金额不符", state: true }, { discribe: "货物收据缺失", state: true }, ] }, ], }, { id: "oceanShipping", data: [ { name: "KZ3500220597AA-003.pdf", errorData: [ ] }, ] } ], gridPDFData: [], selectPDFData: "", selectedPdf: { id: '', index: null } }; }, methods: { ...Event, docdis() { console.log("进入前---------"); this.executeDefault("bddgrp.blk.docdis").then((res) => { console.log("进入后---------"); if ((res.respCode == 'AAAAAA')) { Utils.copyValueFromVO(this.model, res.data); console.log("if中---------"); } }); }, importFile() { this.root.setDraggableContent('cms', '影像信息'); }, addRow() { this.addDialogVisible = false; let newRow = { ...this.dialog }; this.model.bdtp.docgrdm.docgrd.push(newRow); }, removeRow(idx) { this.model.bdtp.docgrdm.docgrd.pop(idx); }, addPDF(idx) { this.selectPDFData = idx; }, detailPDF(id) { this.openPdfDialog(id, 0); }, openPdfDialog(id, idx) { this.$refs.ocrRecognition.show = true var tempId = 0; for (let i = 0; i < this.docgrdDataStore.length; i++) { if (id == this.docgrdDataStore[i].id) { tempId = i; break; } } this.$refs.ocrRecognition.formData.type = this.$refs.ocrRecognition.fileType[tempId].value; this.selectedPdf.id = id; this.selectedPdf.index = idx; this.$nextTick(() => { this.$refs.ocrRecognition.fileUrl = require(`~/assets/demo-files/${this.$refs.ocrRecognition.formData.type}.jpg`) }) }, selectGridPDF() { const id = this.selectedPdf.id; // const idx = this.selectedPdf.index; const idx = 0; //PDF全部展示,就不存在idx var tempData = []; var list = []; var flag = false; for (let i = 0; i < this.gridData.length; i++) { if (this.gridData[i].id == this.selectPDFData) { list = [...this.gridData[i].data[idx].errorData] break; } } for (let i = 0; i < this.docgrdData.length; i++) { if (this.docgrdData[i].id == id && id == this.selectPDFData) { if (list.length > 0) { this.docgrdData[i].state = "内容不符" } else { this.docgrdData[i].state = "符合" } } if (flag) { let tempListData = this.docgrdData[i]; tempListData.list.push(...list); tempData.push(tempListData); flag = false; } else { tempData.push(this.docgrdData[i]); if (this.docgrdData[i].id == id && id == this.selectPDFData && list.length > 0) { if (i < this.docgrdData.length - 1 && this.docgrdData[i + 1].hasOwnProperty("list")) { flag = true; } else { tempData.push({ list, states: true, }); } } } } this.docgrdData = tempData; sessionStorage.setItem('docgrdData', JSON.stringify(this.docgrdData)); }, arraySpanMethod({ row, column, rowIndex, columnIndex }) { if (this.docgrdData[rowIndex].states) { return [1, 5]; } }, DeleteError(index, idx) { this.docgrdData[index].list.splice(idx, 1); if (this.docgrdData[index].list.length == 0) { this.docgrdData.splice(index, 1); this.docgrdData[index - 1].state = "符合" } sessionStorage.setItem('docgrdData', JSON.stringify(this.docgrdData)); }, InsertErrorDialog(index) { this.InsertErrorDialogVisibal = true; this.newInsertErrorIndex = index; }, InsertError() { var temp = { discribe: this.newInsertError, state: true }; this.docgrdData[this.newInsertErrorIndex].list.push(temp); this.newInsertError = ""; this.InsertErrorDialogVisibal = false; sessionStorage.setItem('docgrdData', JSON.stringify(this.docgrdData)); }, addDocgrdDataStore() { this.InsertGridDataDialogVisibal = true; }, InsertGridData() { var index = this.docgrdData.length; var tempData = this.dialog; tempData.cmail1 = this.newInsertGridData; tempData.id = "tempId" + index; tempData.state = "符合"; this.docgrdData.push(this.dialog); this.InsertGridDataDialogVisibal = false; this.newInsertGridData = ""; sessionStorage.setItem('docgrdData', JSON.stringify(this.docgrdData)); } }, created: function () { //docgrdData, gridPDFData var temp_docgrdData = JSON.parse(sessionStorage.getItem("docgrdData")); if (temp_docgrdData != null) { var temp_gridPDFData = JSON.parse(sessionStorage.getItem("gridPDFData")); this.docgrdData = temp_docgrdData; this.gridPDFData = temp_gridPDFData; } else { var IconList = JSON.parse(sessionStorage.getItem("IconList")); if (IconList == null) { IconList = ["invoice", "receipt"]; } var list = []; for (let i = 0; i < IconList.length; i++) { for (let j = 0; j < this.docgrdDataStore.length; j++) { if (IconList[i] == this.docgrdDataStore[j].id) { list.push(this.docgrdDataStore[j]); break; } } } this.docgrdData = list; } }, computed: { }, watch: { selectPDFData() { if (this.selectPDFData.length > 0) { const arr = [] for (let i = 0; i < this.gridData.length; i++) { // if(this.gridData[i].id == this.selectPDFData){ // arr.push({"id" : this.gridData[i].id}); for (let j = 0; j < this.gridData[i].data.length; j++) { arr.push({ "name": this.gridData[i].data[j].name, "id": this.gridData[i].id }); } // break; // } } this.gridPDFData = arr; sessionStorage.setItem('gridPDFData', JSON.stringify(this.gridPDFData)); } } } }; </script> <style scoped> .addCss {} /* 如果要增加竖线上方加上.el-table td */ /* 鼠标滑过td上作用的样式,ie6不支持:hover伪类属性,如果是ie6要写成tr.over样式 */ /* 如果td没有颜色,可以去掉,这里加上保险 */ /* .el-table{ background-color: transparent; color:white; } .el-table th, .el-table tr{ border: 0; background-color: transparent; } .el-table tbody tr:hover>td { background-color:transparent!important; } .el-table__body tr.hover-row>td { background-color: transparent; } */ /* .el-table tbody tr:hover>td { background-color:#ffffff!important } */ .file-add { margin-top: 16px; text-align: center; font-size: 16px; cursor: pointer; border: 1px solid #EBEEF5; } .file-add:hover { color: #5cb6ff; border: 1px solid #5cb6ff; } </style>