diff --git a/src/so/so/saleinvoice/card/btnClicks/body_BtnClick.js b/src/so/so/saleinvoice/card/btnClicks/body_BtnClick.js index 064a7529..f4007a83 100644 --- a/src/so/so/saleinvoice/card/btnClicks/body_BtnClick.js +++ b/src/so/so/saleinvoice/card/btnClicks/body_BtnClick.js @@ -13,9 +13,19 @@ import { BTNCODE } from '../../const'; import cancelCopy_BtnClick from '../init/cancelCopy_BtnClick'; import copyLine_BtnClick from '../init/copyLine_BtnClick'; import refAddLine_BtnClick from './refAddLine_BtnClick'; - +import { ajax } from 'nc-lightapp-front'; import PasteLineToTail_BtnClick from '../init/PasteLineToTail_BtnClick'; -const { ADDLINE, COPYLINE, DELETELINE } = BTNCODE; +import { + createBodyAfterEventData, + processBillCardBodyEditResult +} from '../../../../../scmpub/scmpub/pub/tool/afterEditUtil';const { ADDLINE, COPYLINE, DELETELINE } = BTNCODE; +import { processCardTableAutoAddRow } from '../../../../../scmpub/scmpub/pub/tool/autoAddRowUtil'; +import { PAGEAREA, URL, PAGEID, KEY } from '../../const'; +import { addRowBtnClick } from '../btnClicks'; +const { CARD } = PAGEID; +const { FORMID, TABLEID } = PAGEAREA; +import headTotalCalRule from '../../../pub/pubrule/headTotalCalRule'; +const { BODYAFTERURL } = URL; export default function(type, props, key) { switch (key) { // 参照增行 @@ -46,7 +56,62 @@ export default function(type, props, key) { case 'PasteLineToTail': PasteLineToTail_BtnClick.call(this, props); break; + // 开票匹配 + case 'changeRow': + document.querySelector('#fileInfo').click(); + break; + // 匹配确认 + case 'updateRow': + let olddate = this.props.cardTable.getAllData(this.tableId) + let delrow=[]; + for(let i=0;i { + if (res.data && res.data.billCard) { + props.form.setAllFormValue({ [FORMID]: res.data.billCard.head[FORMID] }, false); + processBillCardBodyEditResult(this.props, TABLEID, res.data, i); + // 如果编辑字段影响单价金额算法,则触发表头合计 + if (KEY.NEEDCALKEY.includes(key)) { + let keymaps = new Map(); + keymaps.set('nastnum', 'ntotalastnum'); + keymaps.set('norigtaxmny', 'ntotalorigmny'); + keymaps.set('norigsubmny', 'ntotalorigsubmny'); + keymaps.set('norigdiscount', 'nhvoicedismny'); + + headTotalCalRule(this.props, CARD, FORMID, TABLEID, keymaps); + } + processCardTableAutoAddRow(props, TABLEID, i, { + isMuli: [row1].length > 1 ? true : false, + isAutoAddFunc: isAutoAdd.bind(this, this.props), + autoAddFunc: addRowBtnClick.bind(this, this.props, true) + }); + } + } + }); + }else{ + delrow.push(i); + } + } + this.props.cardTable.delRowsByIndex("saleinvoice_b",delrow); + break; } } - +function isAutoAdd(props) { + return true; +} /*QxQxIdC7hL9eZPhKtSQCz0n/IxFd/FalDCgPsuoRiIE=*/ \ No newline at end of file diff --git a/src/so/so/saleinvoice/card/events/body_beforeEvent.js b/src/so/so/saleinvoice/card/events/body_beforeEvent.js index 7788c38a..8b99eb10 100644 --- a/src/so/so/saleinvoice/card/events/body_beforeEvent.js +++ b/src/so/so/saleinvoice/card/events/body_beforeEvent.js @@ -30,7 +30,30 @@ export default async function(props, moduleId, key, value, index, record) { return false; } - + // 20251125 校验是否能修改价税合计 + if(key == 'nqtorigtaxprice' || key == 'norigtaxmny'){ + let csrcbid = record.values.csrcbid.value; + let pk_org = record.values.pk_org.value; + let data = { + pk_org:pk_org, + csrcbid:csrcbid + } + ajax({ + url: '/nccloud/so/saleinvoice/checkinvoice.do', + data: data, + success: (res) => { + if (res.success) { + debugger + if (res.data=='success') { + return true; + }else{ + showErrorInfo(res.data); + return false; + } + } + } + }); + } if ( key.includes('price') || key.includes('mny') || diff --git a/src/so/so/saleinvoice/card/index.js b/src/so/so/saleinvoice/card/index.js index aed081f2..a74be5ea 100644 --- a/src/so/so/saleinvoice/card/index.js +++ b/src/so/so/saleinvoice/card/index.js @@ -1,7 +1,7 @@ /*YInZLc9/kvMC1mGq3o4LwAszAXwVlsNyvp/9X8WPLW8=*/ import React, { Component } from 'react'; -import { createPage, base, high } from 'nc-lightapp-front'; +import { ajax, createPage, base, high } from 'nc-lightapp-front'; import backBtnClick from './btnClicks/back_BtnClick'; import checkAddLine from './btnClicks/checkAddline'; import checkDeleteLine from './btnClicks/checkDeleteLine'; @@ -12,7 +12,6 @@ import buttonController from './viewController/buttonController'; import rowButtonController from './viewController/rowButtonController'; import { buttonClick, body_BtnClick, pageInfoClick, commit_BtnClick, saveAndCommit_BtnClick } from './btnClicks'; import { afterEvent, beforeEvent, batchEvents } from './events'; - import { setEditEnable } from './viewController/cardEditController'; const { BillTrack } = high; import NCUploader from 'uap/common/components/NCUploader'; @@ -154,7 +153,58 @@ class SaleInvoiceCard extends Component { this.payer = payer; this.checker = checker; }; + upload(v, states) { + console.log("导入"); + window.hh = this + if (!v) { + return; + } + let formData = new FormData(); + let dome = document.querySelector("#fileInfo"); + let olddate = this.props.cardTable.getAllData(this.tableId) + formData.append('imgFile', dome.files[0]); + // headers['Content-Type'] = 'multipart/form-data' + formData.append('states', states); + ajax({ + url: '/nccloud/so/saleinvoice/SaleInvoiceNumImport.do', + data: formData, + headers: { "Content-Type": "multipart/form-data" }, + success: (res) => { + console.log("成功") + if (res.data.isSuccess == "Y") { + for(let row of res.data.data){ + let taxPrice=row.taxPrice; + let materialCode=row.materialCode; + for(let i=0;i { return ( @@ -526,6 +576,7 @@ class SaleInvoiceCard extends Component {