销售发票开票匹配
This commit is contained in:
parent
9c2c4f7484
commit
4da3db42c1
|
|
@ -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<olddate.rows.length;i++){
|
||||
//数量
|
||||
let nnum = olddate.rows[i].values.nnum.value;
|
||||
// 匹配数量
|
||||
let vbdef18 = olddate.rows[i].values.vbdef18.value;
|
||||
if(vbdef18 != "" && vbdef18 != undefined ){
|
||||
this.props.cardTable.setValByKeyAndIndex("saleinvoice_b", i, "nnum", { value: vbdef18 })
|
||||
// this.props.cardTable.setValByKeyAndIndex("saleinvoice_b", i, "nastnum", { value: vbdef18 })
|
||||
let row1 ={};
|
||||
row1.newvalue={value:vbdef18}
|
||||
row1.oldvalue={value:nnum}
|
||||
// bodyAfterEvent(this.props,"saleinvoice_b","nnum",vbdef18,[row1],i,olddate.rows[i])
|
||||
let data = createBodyAfterEventData(this.props, CARD, FORMID, TABLEID, "saleinvoice_b", "nnum", [row1], i);
|
||||
ajax({
|
||||
url: BODYAFTERURL,
|
||||
data: data,
|
||||
async: false,
|
||||
success: (res) => {
|
||||
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=*/
|
||||
|
|
@ -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') ||
|
||||
|
|
|
|||
|
|
@ -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<olddate.rows.length;i++){
|
||||
//物料编码
|
||||
let cmaterialvid = olddate.rows[i].values.cmaterialvid.display;
|
||||
// 含税单价
|
||||
let nqtorigtaxprice = olddate.rows[i].values.nqtorigtaxprice.value;
|
||||
if(cmaterialvid == materialCode && parseFloat(taxPrice)==parseFloat(nqtorigtaxprice)){
|
||||
this.props.cardTable.setValByKeyAndIndex("saleinvoice_b", i, "vbdef18", { value: row.matchQuantity })
|
||||
}
|
||||
}
|
||||
// for (let bvo of olddate.rows) {
|
||||
// //物料编码
|
||||
// let cmaterialvid = bvo.values.cmaterialvid.display;
|
||||
// // 含税单价
|
||||
// let nqtorigtaxprice = bvo.values.nqtorigtaxprice.value;
|
||||
// if(cmaterialvid == materialCode && parseFloat(taxPrice)==parseFloat(nqtorigtaxprice)){
|
||||
// this.props.cardTable.setValByKeyAndIndex("saleinvoice_b", 1, "vbdef18", { value: row.matchQuantity })
|
||||
// }
|
||||
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
// let id = this.props.getUrlParam(PRIMARY_KEY.id);
|
||||
// this.onRefresh();
|
||||
}
|
||||
})
|
||||
// 置空,不然重复导入同名不会执行
|
||||
document.querySelector("#fileInfo").value = "";
|
||||
}
|
||||
//获取列表肩部信息
|
||||
getTableHead = (type) => {
|
||||
return (
|
||||
|
|
@ -526,6 +576,7 @@ class SaleInvoiceCard extends Component {
|
|||
<iframe id="printServiceframe" name="printServiceframe" style={{ display: 'none' }} />
|
||||
{/* 打印次数查询模态框 */}
|
||||
{createModal('code-config')}
|
||||
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
|
@ -559,6 +610,8 @@ class SaleInvoiceCard extends Component {
|
|||
{createModal('MessageDlg', {
|
||||
size: 'xlg'
|
||||
})}
|
||||
<input style={{display: 'none'}} type= 'file' id='fileInfo' onChange= {(value) => this.upload(value)} />
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -138,7 +138,9 @@ const BTN = {
|
|||
// 卡片
|
||||
BTNCARD: {
|
||||
BODY: {
|
||||
EDIT: [ ADDLINE, DELETELINE, COPYLINE, REFLINE, REARRANGEROWNO ]
|
||||
EDIT: [ ADDLINE, DELETELINE, COPYLINE, REFLINE, REARRANGEROWNO,
|
||||
"changeRow",
|
||||
"updateRow" ]
|
||||
},
|
||||
// 操作列按钮
|
||||
ROW: {
|
||||
|
|
@ -197,7 +199,9 @@ const BTN = {
|
|||
CREDITQUERY,
|
||||
OFFSETINFO,
|
||||
VATSUBTOTAL,
|
||||
CROSSPROFITRPT
|
||||
CROSSPROFITRPT,
|
||||
"changeRow",
|
||||
"updateRow"
|
||||
]
|
||||
}
|
||||
// ,
|
||||
|
|
|
|||
Loading…
Reference in New Issue