销项发票模块源码
This commit is contained in:
parent
a21cd0b3ad
commit
70ba74c6b9
|
|
@ -0,0 +1,73 @@
|
||||||
|
/*29PhywYa6Smee2Xoz8l2SLeeYbdVm+mtmUdoIg8/sys=*/
|
||||||
|
import {toast, cardCache} from "nc-lightapp-front";
|
||||||
|
import { get } from "lodash"
|
||||||
|
let {getCacheById, updateCache} = cardCache;
|
||||||
|
import requestApi from '../requestApi'
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
export default function (callbackFunction) {
|
||||||
|
let pkBill = this.props.getUrlParam('id');
|
||||||
|
if (pkBill) {
|
||||||
|
let cardData = getCacheById(pkBill, presetVar.dataSource);
|
||||||
|
if (cardData) {
|
||||||
|
//控制单据编号
|
||||||
|
this.props.BillHeadInfo.setBillHeadInfoVisible({
|
||||||
|
showBillCode: true,
|
||||||
|
billCode: cardData.head[presetVar.formAreaId].rows[0].values['billno'].value || ''
|
||||||
|
});
|
||||||
|
this.props.form.setAllFormValue({[presetVar.formAreaId]: cardData.head[presetVar.formAreaId]});
|
||||||
|
cardData.body && cardData.body[presetVar.bodyAreaId] && this.props.cardTable.setTableData(presetVar.bodyAreaId, cardData.body[presetVar.bodyAreaId]);
|
||||||
|
} else {
|
||||||
|
// 取得表头数据
|
||||||
|
let formData = this.props.form.getAllFormValue(presetVar.formAreaId);
|
||||||
|
// 取得表体数据
|
||||||
|
let bodyData = this.props.cardTable.getAllData(presetVar.bodyAreaId);
|
||||||
|
// 组装用户数据
|
||||||
|
let userjson = {
|
||||||
|
pagecode: this.props.getSearchParam('p'),
|
||||||
|
pk_invoice: pkBill
|
||||||
|
}
|
||||||
|
requestApi.loadData({
|
||||||
|
data: userjson,
|
||||||
|
success: (data) => {
|
||||||
|
if (data && data.head) {
|
||||||
|
updateCache(presetVar.pkname, pkBill, data, presetVar.formAreaId, presetVar.dataSource);
|
||||||
|
// 设置表头数据
|
||||||
|
//控制单据编号
|
||||||
|
this.props.BillHeadInfo.setBillHeadInfoVisible({
|
||||||
|
showBillCode: true,
|
||||||
|
billCode: data.head.head.rows[0].values['billno'].value || ''
|
||||||
|
});
|
||||||
|
this.props.form.setAllFormValue(data.head);
|
||||||
|
// 设置表体数据
|
||||||
|
data.body && data.body[presetVar.tableAreaId] && this.props.cardTable.setTableData(presetVar.tableAreaId, data.body[presetVar.tableAreaId]);
|
||||||
|
data.grandSons && data.grandSons[presetVar.tspzBodyAreaId] && this.props.cardTable.setTableData(presetVar.tspzBodyAreaId, data.grandSons[presetVar.tspzBodyAreaId]);
|
||||||
|
let specialInvoiceIsShow = false;
|
||||||
|
// 发票类型为“数电票(增值税专用发票):31”或“数电票(普通发票):32”时且特殊票种为E04货物运输、E09旅客运输,或征税方式为2差额开票/3全额开票时,新扩展的表体行“特殊票种明细”可见。
|
||||||
|
let fplx = get(data,"head.head.rows[0].values.invoice_type.value","");//发票类型
|
||||||
|
let tspzCode=get(data,"head.head.rows[0].values.tspz.display","").split('/')[0];//特殊票种编码
|
||||||
|
let zsfs = get(data,"head.head.rows[0].values.zsfs.value","");//征税方式,枚举值:普通征税=0,差额征税=2,全额开票=3
|
||||||
|
if (
|
||||||
|
(fplx == "31" || fplx == "32") &&
|
||||||
|
(tspzCode === "E04" ||
|
||||||
|
tspzCode === "E09" ||
|
||||||
|
zsfs === "2" || zsfs === "3")
|
||||||
|
) {
|
||||||
|
specialInvoiceIsShow = true;
|
||||||
|
}
|
||||||
|
this.setState({
|
||||||
|
specialInvoiceIsShow,
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
toast({
|
||||||
|
color: 'danger',
|
||||||
|
content: this.multiLangJson[presetVar.mutiLangCodeDetail.viewBillError]
|
||||||
|
});
|
||||||
|
}
|
||||||
|
callbackFunction && callbackFunction.call(this, data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*29PhywYa6Smee2Xoz8l2SLeeYbdVm+mtmUdoIg8/sys=*/
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
/*PFX5kEidSR9Hnx7I97Aa2K3hLse+cuHnNwkFseo1mD4=*/
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
export default function () {
|
||||||
|
return {
|
||||||
|
[presetVar.tableBtns.Body_Edit]: {
|
||||||
|
actionCode: 'BodyCardEdit'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*PFX5kEidSR9Hnx7I97Aa2K3hLse+cuHnNwkFseo1mD4=*/
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
/*JNnb7VnKIimhevxx9sWXRp2uqhnqWhEwsGPYQD2u3Ic=*/
|
||||||
|
import viewBill from '../common/viewBill'
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
export default function (props, id) {
|
||||||
|
this.props.setUrlParam({id: id});
|
||||||
|
viewBill.call(this, (data) => {
|
||||||
|
//按钮显示
|
||||||
|
//正常0 显示红冲作废
|
||||||
|
//红冲1 显示作废
|
||||||
|
//作废2 都不显示
|
||||||
|
if (data.head.head.rows[0].values.fpzt.value == 2) {
|
||||||
|
this.props.button.setButtonVisible([presetVar.headBtns.Invalid, presetVar.headBtns.RedRush], false);
|
||||||
|
} else if (data.head.head.rows[0].values.fpzt.value == 0) {
|
||||||
|
this.props.button.setButtonVisible([presetVar.headBtns.Invalid, presetVar.headBtns.RedRush], true);
|
||||||
|
} else if (data.head.head.rows[0].values.fpzt.value == 1) {
|
||||||
|
this.props.button.setButtonVisible([presetVar.headBtns.RedRush], false);
|
||||||
|
this.props.button.setButtonVisible([presetVar.headBtns.Invalid], true);
|
||||||
|
}
|
||||||
|
// 只支持 增值税电子普通发票=1,增值税电子专用发票=2,增值税电子普通发票(成品油)=8
|
||||||
|
// if (data.head.head.rows[0].values.invoice_type.value == 1 || data.head.head.rows[0].values.invoice_type.value == 2 || data.head.head.rows[0].values.invoice_type.value == 8) {
|
||||||
|
// this.props.button.setButtonVisible({
|
||||||
|
// [presetVar.headBtns.Download]: true
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// this.props.button.setButtonVisible({
|
||||||
|
// [presetVar.headBtns.Download]: false
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/*JNnb7VnKIimhevxx9sWXRp2uqhnqWhEwsGPYQD2u3Ic=*/
|
||||||
|
|
@ -0,0 +1,100 @@
|
||||||
|
/*4prg4SsHcHRCMh7vQKzFQTJEXcpBkkWOyJFq1BdXVvk=*/
|
||||||
|
import {toast, formDownload} from 'nc-lightapp-front';
|
||||||
|
import presetVar from '../presetVar';
|
||||||
|
import requestApi from '../requestApi'
|
||||||
|
import linkinvoice from './linkinvoice'
|
||||||
|
import showListMessage from "../../../../invoiceApplication/invoiceApl/list/common/showListMessage";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 表头按钮事件
|
||||||
|
* @param {*} props
|
||||||
|
* @param {*} key 按钮KEY
|
||||||
|
*/
|
||||||
|
export default function (props, key) {
|
||||||
|
let formData = this.props.form.getAllFormValue(presetVar.formAreaId);
|
||||||
|
let arr = [];
|
||||||
|
arr.push({
|
||||||
|
'fpdm': formData.rows[0].values.fpdm.value,
|
||||||
|
'fphm': formData.rows[0].values.fphm.value,
|
||||||
|
'pk': formData.rows[0].values.pk_invoice.value,
|
||||||
|
'ts': formData.rows[0].values.ts.value
|
||||||
|
});
|
||||||
|
let sendData = {
|
||||||
|
data: arr
|
||||||
|
};
|
||||||
|
let pk = formData.rows[0].values.pk_invoice.value; //当前发票pk
|
||||||
|
let invoice_type = formData.rows[0].values.invoice_type.value; //当前发票pk
|
||||||
|
let redinfo = {rows:[{
|
||||||
|
values:{
|
||||||
|
fphm: {value:formData.rows[0].values.fphm.value},
|
||||||
|
fpdm: {value:formData.rows[0].values.fpdm.value},
|
||||||
|
jshj: {value:formData.rows[0].values.jshj.value},
|
||||||
|
pk: {value:formData.rows[0].values.pk_invoice.value},
|
||||||
|
ts: {value:formData.rows[0].values.ts.value},
|
||||||
|
invoice_type: {value:formData.rows[0].values.invoice_type.value,display:formData.rows[0].values.invoice_type.display},
|
||||||
|
hcyy:{value:''},
|
||||||
|
redinfo:{value:''}
|
||||||
|
}
|
||||||
|
}]}
|
||||||
|
switch (key) {
|
||||||
|
case presetVar.headBtns.RedRush :
|
||||||
|
this.props.modal.show('redinfomodal');
|
||||||
|
this.props.editTable.setTableData('redinfo', redinfo);
|
||||||
|
this.props.editTable.setStatus('redinfo', 'edit');
|
||||||
|
break;
|
||||||
|
case presetVar.headBtns.Invalid:
|
||||||
|
requestApi.Invalid({
|
||||||
|
data: sendData,
|
||||||
|
success: (data) => {
|
||||||
|
// if (data.msg && data.msg.indexOf('失败明细') == -1) {
|
||||||
|
// // toast({content: data.msg, color: 'success'});
|
||||||
|
// showListMessage.call(this, JSON.parse(data.userjson));
|
||||||
|
// } else {
|
||||||
|
// toast({content: data.msg, color: 'danger'});
|
||||||
|
showListMessage.call(this, JSON.parse(data.userjson));
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case presetVar.headBtns.LinkInvoice:
|
||||||
|
linkinvoice.call(this);
|
||||||
|
break;
|
||||||
|
case presetVar.headBtns.LinkBill:
|
||||||
|
let formData = this.props.form.getAllFormValue(presetVar.formAreaId);
|
||||||
|
this.setState({
|
||||||
|
show: true,
|
||||||
|
linkBill: {
|
||||||
|
fphm: formData.rows[0].values.fphm.value,
|
||||||
|
fpdm: formData.rows[0].values.fpdm.value,
|
||||||
|
pk: formData.rows[0].values.pk_invoice.value
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
case presetVar.headBtns.Download:
|
||||||
|
this.props.modal.show('LnvoiceDownloadTypeModal');
|
||||||
|
this.props.form.setFormStatus('LnvoiceDownloadType', 'edit');
|
||||||
|
// const params = {pk};
|
||||||
|
// requestApi.download({
|
||||||
|
// data: params,
|
||||||
|
// success: (res) => {
|
||||||
|
// formDownload({
|
||||||
|
// params,
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// enctype: 1
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
break;
|
||||||
|
case presetVar.headBtns.LinkBusiBill:
|
||||||
|
// 联查单据
|
||||||
|
this.setState({
|
||||||
|
linkBusiBillModalShow: true,
|
||||||
|
LinkBusiBillQueryParams: {
|
||||||
|
pk_inovice: pk,
|
||||||
|
appcode: this.props.getSearchParam('c')
|
||||||
|
}
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*4prg4SsHcHRCMh7vQKzFQTJEXcpBkkWOyJFq1BdXVvk=*/
|
||||||
|
|
@ -0,0 +1,123 @@
|
||||||
|
/*pmFWCFu5nhKkBzYmrkBakW6TAzJpB+wJDv+WV4b5Sr8=*/
|
||||||
|
import {base, high, ajax, toast, getMultiLang} from 'nc-lightapp-front';
|
||||||
|
import 'ssccommon/components/globalPresetVar';
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
import {setTableExtendCol} from 'ssccommon/components/bill';
|
||||||
|
import viewBill from "../common/viewBill";
|
||||||
|
import bodyinnerBtnEvent from './bodyinnerBtnEvent'
|
||||||
|
|
||||||
|
export default function (props) {
|
||||||
|
|
||||||
|
let that = this;
|
||||||
|
/**
|
||||||
|
* 取得模板
|
||||||
|
*/
|
||||||
|
let createUIDomPromise = new Promise((resolve, reject) => {
|
||||||
|
props.createUIDom(
|
||||||
|
{},
|
||||||
|
(data) => {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
|
)
|
||||||
|
});
|
||||||
|
let createUIDomPromise2 = new Promise((resolve, reject) => {
|
||||||
|
props.createUIDom(
|
||||||
|
{pagecode:'105802KP_list'},
|
||||||
|
(data) => {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
|
)
|
||||||
|
});
|
||||||
|
|
||||||
|
this.getMultiLangPromise = new Promise((resolve, reject) => {
|
||||||
|
getMultiLang({
|
||||||
|
moduleId: presetVar.mutiLangCode,
|
||||||
|
domainName: presetVar.domainName,
|
||||||
|
currentLocale: presetVar.currentLocale,
|
||||||
|
callback: (json) => {
|
||||||
|
resolve(json);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.all([createUIDomPromise, this.getMultiLangPromise, createUIDomPromise2]).then((resultList) => {
|
||||||
|
let data = resultList[0];
|
||||||
|
let json = resultList[1];
|
||||||
|
let data4T2 = resultList[2];
|
||||||
|
data.template.redinfo = data4T2.template.redinfo;
|
||||||
|
this.multiLangJson = json;
|
||||||
|
|
||||||
|
let button = data.button;
|
||||||
|
// 设置按钮模板
|
||||||
|
props.button.setButtons(button);
|
||||||
|
let meta = data.template;
|
||||||
|
|
||||||
|
// 设置表格扩展列
|
||||||
|
setTableExtendCol(props, meta, button, [{
|
||||||
|
width: '200px',
|
||||||
|
tableAreaId: presetVar.tableAreaId,
|
||||||
|
btnAreaId: presetVar.tableBtnAreaId,
|
||||||
|
onButtonClick: bodyinnerBtnEvent.bind(this),
|
||||||
|
buttonVisible: (record, index) => {
|
||||||
|
return bodyBtnEnabled(record);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
// 判断模板中是否存在特殊票种明细表体区域
|
||||||
|
if(meta[presetVar.tspzBodyAreaId]){
|
||||||
|
// 平台逻辑为字段全部不显示,则表格区域不显示,不满足产品需求,故手动将该区域修改为显示
|
||||||
|
meta[presetVar.tspzBodyAreaId].areaVisible=true;
|
||||||
|
}
|
||||||
|
// 设置模版
|
||||||
|
|
||||||
|
props.meta.setMeta(meta);
|
||||||
|
viewBill.call(this, (data) => {
|
||||||
|
// 设置按钮显示隐藏
|
||||||
|
//正常0 显示红冲作废
|
||||||
|
//红冲1 显示作废
|
||||||
|
//作废2 都不显示
|
||||||
|
if (data.head.head.rows[0].values.fpzt.value == 1) {
|
||||||
|
this.props.button.setButtonVisible({
|
||||||
|
[presetVar.headBtns.Invalid]: true,
|
||||||
|
[presetVar.headBtns.RedRush]: false
|
||||||
|
});
|
||||||
|
} else if (data.head.head.rows[0].values.fpzt.value == 0) {
|
||||||
|
this.props.button.setButtonVisible({
|
||||||
|
[presetVar.headBtns.Invalid]: true,
|
||||||
|
[presetVar.headBtns.RedRush]: true
|
||||||
|
});
|
||||||
|
} else if (data.head.head.rows[0].values.fpzt.value == 2) {
|
||||||
|
this.props.button.setButtonVisible({
|
||||||
|
[presetVar.headBtns.Invalid]: false,
|
||||||
|
[presetVar.headBtns.RedRush]: false
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// // 只支持 增值税电子普通发票=1,增值税电子专用发票=2,增值税电子普通发票(成品油)=8,全电票(31,32),矿产类发票(116增值税电子普通发票、216增值税电子专用发票、316增值税普通发票、416增值税专用发票)
|
||||||
|
// if (data.head.head.rows[0].values.invoice_type.value == 1 || data.head.head.rows[0].values.invoice_type.value == 2 ||
|
||||||
|
// data.head.head.rows[0].values.invoice_type.value == 8 || data.head.head.rows[0].values.invoice_type.value == 31 ||
|
||||||
|
// data.head.head.rows[0].values.invoice_type.value == 32 || data.head.head.rows[0].values.invoice_type.value == 116 ||
|
||||||
|
// data.head.head.rows[0].values.invoice_type.value == 216 || data.head.head.rows[0].values.invoice_type.value == 316 ||
|
||||||
|
// data.head.head.rows[0].values.invoice_type.value == 416 ) {
|
||||||
|
// this.props.button.setButtonVisible({
|
||||||
|
// [presetVar.headBtns.Download]: true
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// this.props.button.setButtonVisible({
|
||||||
|
// [presetVar.headBtns.Download]: false
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// 设置翻页器
|
||||||
|
this.props.cardPagination.setCardPaginationId({status: 1, id: this.props.getUrlParam('id')});
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表按钮可用判断
|
||||||
|
* @param {*} record
|
||||||
|
*/
|
||||||
|
function bodyBtnEnabled(record) {
|
||||||
|
return [presetVar.tableBtns.Body_Edit]
|
||||||
|
}
|
||||||
|
|
||||||
|
/*pmFWCFu5nhKkBzYmrkBakW6TAzJpB+wJDv+WV4b5Sr8=*/
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
/*wkIeZP/f+8mx3/nHYiHB/wEqIKtCN3804nqhAXRXxdI=*/
|
||||||
|
import selfPresetVar from '../presetVar'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联查发票
|
||||||
|
*/
|
||||||
|
export default function () {
|
||||||
|
this.invoiceComponent.setBillParams({
|
||||||
|
pkBill: this.props.getUrlParam('id'),
|
||||||
|
billType: selfPresetVar.LinkInvoiceBillType,//单据类型
|
||||||
|
tradeType:"",//销项发票中获取不到交易类型,此处传空,由后端处理
|
||||||
|
}, () => {
|
||||||
|
this.invoiceComponent.linkInvoice.show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/*wkIeZP/f+8mx3/nHYiHB/wEqIKtCN3804nqhAXRXxdI=*/
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
#invoicecard {
|
||||||
|
.ivm-pagination--show {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.ivm-pagination--hide {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,369 @@
|
||||||
|
/*UFigk5STJwm8UdgGL1uB/XekbNt/WrTNa19WDhPxAaU=*/
|
||||||
|
import React, {
|
||||||
|
Component
|
||||||
|
} from "react";
|
||||||
|
import {
|
||||||
|
formDownload,
|
||||||
|
createPage,
|
||||||
|
getMultiLang,
|
||||||
|
base,
|
||||||
|
high,
|
||||||
|
createBillHeadInfo,
|
||||||
|
toast
|
||||||
|
} from "nc-lightapp-front";
|
||||||
|
import "./index.less";
|
||||||
|
import initTemplate from "./events/initTemplate.js";
|
||||||
|
import headBtnClick from "./events/headBtnClick";
|
||||||
|
import presetVar from './presetVar'
|
||||||
|
import InvoiceComponent from '../../../invoiceComponent/compoundComponent/component'
|
||||||
|
import LinkBill from '../../linkBill/list/index'
|
||||||
|
import handlePageInfoChange from "./events/handlePageInfoChange";
|
||||||
|
import LinkBillModal from 'ssccommon/components/linkbill/linkbillmodal/LinkBillModal';
|
||||||
|
import viewBill from './common/viewBill'
|
||||||
|
import { setForm, setCardTable, setEditTable } from 'ssccommon/utils/setComponentUsed';
|
||||||
|
import showListMessage from "../../../invoiceApplication/invoiceApl/list/common/showListMessage";
|
||||||
|
import listRequestApi from '../list/requestApi'
|
||||||
|
import requestApi from './requestApi'
|
||||||
|
import { replace, get } from "lodash";
|
||||||
|
|
||||||
|
const { NCRefreshBtn, NCAffix, NCDiv } = base;
|
||||||
|
const DATA_SOURCE = `SSCIVM.INVOICE.RECEIVE.DATASOURCE`;
|
||||||
|
|
||||||
|
|
||||||
|
class InvoiceSaleCard extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
multiLang: {}, // 多语对象
|
||||||
|
pageStatus: 'browse', //页面状态
|
||||||
|
approveDownBillId: '',
|
||||||
|
show: false, //联查开票情况弹框
|
||||||
|
linkBill: {}, //联查开票情况传递参数
|
||||||
|
linkBusiBillModalShow: false, // 联查单据显示控制标志
|
||||||
|
LinkBusiBillQueryParams: {}, // 联查单据传递参数
|
||||||
|
specialInvoiceIsShow:false,//特殊票种表体是否显示
|
||||||
|
};
|
||||||
|
this.invoiceComponent = new InvoiceComponent('Invoice');
|
||||||
|
//平台组件初始化
|
||||||
|
setCardTable(props, presetVar.tableAreaId);
|
||||||
|
setCardTable(props, presetVar.tspzBodyAreaId);
|
||||||
|
setForm(props, presetVar.formAreaId);
|
||||||
|
setForm(props, 'LnvoiceDownloadType');
|
||||||
|
setEditTable(props, 'redinfo'),
|
||||||
|
initTemplate.call(this, props);
|
||||||
|
}
|
||||||
|
|
||||||
|
//刷新按钮
|
||||||
|
handleClick = () => {
|
||||||
|
let multiLang = this.props.MutiInit.getIntl(1058); //this.moduleId
|
||||||
|
viewBill.call(this, () => {
|
||||||
|
// "1058-SP-0035": "刷新成功!",
|
||||||
|
toast({ content: multiLang && multiLang.get('1058-SP-0035'), color: 'success' });
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//翻页事件
|
||||||
|
handlePageInfoChange = (...params) => {
|
||||||
|
handlePageInfoChange.call(this, ...params)
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const { createBillHeadInfo } = this.props.BillHeadInfo;
|
||||||
|
const {
|
||||||
|
props: {
|
||||||
|
cardTable: { createCardTable },
|
||||||
|
form: { createForm, },
|
||||||
|
button: { createButtonApp, },
|
||||||
|
cardPagination: { createCardPagination },
|
||||||
|
},
|
||||||
|
handleClick,
|
||||||
|
handlePageInfoChange,
|
||||||
|
} = this
|
||||||
|
const scene = this.props.getUrlParam('scene');
|
||||||
|
let multiLang = this.props.MutiInit.getIntl(1058); //this.moduleId
|
||||||
|
return (
|
||||||
|
<div className="nc-bill-card" id="invoicecard">
|
||||||
|
<div className="nc-bill-top-area">
|
||||||
|
<NCAffix offsetTop={0}>
|
||||||
|
<NCDiv className="invoice-card--head" areaCode={NCDiv.config.HEADER}>
|
||||||
|
<div className="nc-bill-header-area">
|
||||||
|
<span className="header-title-search-area">
|
||||||
|
{/*"1058-FP-0001": "销项发票"*/}
|
||||||
|
{
|
||||||
|
createBillHeadInfo(
|
||||||
|
{
|
||||||
|
title: this.props.getSearchParam('n'), //标题
|
||||||
|
initShowBackBtn: scene == 'listTo' ? true : false,
|
||||||
|
backBtnClick: () => { //返回按钮的点击事件
|
||||||
|
this.props.pushTo("/list", { pagecode: presetVar.listPagecode })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
</span>
|
||||||
|
<div className="header-button-area">
|
||||||
|
{createButtonApp({
|
||||||
|
area: presetVar.headAreaId,
|
||||||
|
onButtonClick: headBtnClick.bind(this)
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
{/* NCRefreshBtn TODO */}
|
||||||
|
<NCRefreshBtn onClick={handleClick}></NCRefreshBtn>
|
||||||
|
{/* 翻页器 */}
|
||||||
|
<div className={scene == 'listTo' ? 'ivm-pagination--show' : 'ivm-pagination--hide'}>
|
||||||
|
{
|
||||||
|
createCardPagination({
|
||||||
|
handlePageInfoChange: handlePageInfoChange,
|
||||||
|
dataSource: DATA_SOURCE
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</NCDiv>
|
||||||
|
</NCAffix>
|
||||||
|
<div className="nc-bill-form-area">
|
||||||
|
{createForm(presetVar.formAreaId, {})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="nc-bill-bottom-area">
|
||||||
|
<div className='nc-bill-table-area'>
|
||||||
|
{createCardTable(presetVar.tableAreaId, {
|
||||||
|
showIndex: true,
|
||||||
|
adaptionHeight: true
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
{/* 特殊票种明细表体 */}
|
||||||
|
{this.state.specialInvoiceIsShow && (
|
||||||
|
<div className="nc-bill-table-area">
|
||||||
|
{createCardTable(presetVar.tspzBodyAreaId, {
|
||||||
|
showIndex: true,
|
||||||
|
adaptionHeight: true,
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
{/* 联查发票组件 */}
|
||||||
|
{this.invoiceComponent.createComponent()}
|
||||||
|
{/*联查开票申请*/}
|
||||||
|
{this.state.show && <LinkBill
|
||||||
|
show={this.state.show}
|
||||||
|
linkBill={this.state.linkBill}
|
||||||
|
closeModalEve={() => {
|
||||||
|
this.setState({ show: false })
|
||||||
|
}}
|
||||||
|
></LinkBill>}
|
||||||
|
{/* 联查单据 */}
|
||||||
|
{this.state.linkBusiBillModalShow &&
|
||||||
|
<LinkBillModal
|
||||||
|
{...this.props}
|
||||||
|
modalTitle={multiLang && multiLang.get('1058-SP-0043')} // 联查单据
|
||||||
|
LinkBillModalAppCode="105802KP"
|
||||||
|
LinkBillModalPageCode="105802KP_LinkBill"
|
||||||
|
tableAreaId="bills"
|
||||||
|
tableRenderField="billno"
|
||||||
|
queryUrl="/nccloud/sscivm/ivsale/LinkBillAction.do"
|
||||||
|
queryParams={this.state.LinkBusiBillQueryParams}
|
||||||
|
onRowDoubleClick={(record, index) => {
|
||||||
|
listRequestApi.openbill({
|
||||||
|
data: {
|
||||||
|
openbillid: record.pk_bill.value,
|
||||||
|
tradetype: record.pk_tradetype.value
|
||||||
|
},
|
||||||
|
success: (data) => {
|
||||||
|
this.props.openTo(data.url, data.data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
closeModalEve={() => {
|
||||||
|
this.setState({ linkBusiBillModalShow: false });
|
||||||
|
}}
|
||||||
|
/>}
|
||||||
|
{this.props.modal.createModal('redinfomodal', {
|
||||||
|
title: multiLang && multiLang.get('1058-invoice-0024'),
|
||||||
|
content: (
|
||||||
|
<div className="area-content">
|
||||||
|
{this.props.editTable.createEditTable('redinfo', {
|
||||||
|
showIndex: true,
|
||||||
|
adaptionHeight: false
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
size: 'xlg',
|
||||||
|
beSureBtnClick: () => {
|
||||||
|
let rows = this.props.editTable.getAllRows('redinfo');
|
||||||
|
let toastMsgs=[];
|
||||||
|
// "refer-XX-0003": "序号{n}:发票号码为\"{a}\"且发票类型为\"{b}\"的\"{c}\"不能为空;"
|
||||||
|
// "refer-XX-0004": "红字信息单编号","refer-XX-0005": "红冲原因"
|
||||||
|
let mulTisp=multiLang && multiLang.get('refer-XX-0003');
|
||||||
|
rows.forEach((element,index) => {
|
||||||
|
let itemMulTisp=mulTisp;
|
||||||
|
if(['2','4','11','99'].some(ele=>{
|
||||||
|
return ele===element.values.invoice_type.value
|
||||||
|
})&&element.values.redinfo.value===''){
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{n}',index+1);
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{a}',get(element,"values.fphm.value",''));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{b}',get(element,"values.invoice_type.display",""));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{c}',multiLang && multiLang.get('refer-XX-0004')||'红字信息单编号');
|
||||||
|
}else if(['1','3','8','10','12'].some(ele=>{
|
||||||
|
return ele===element.values.invoice_type.value
|
||||||
|
})&&!element.values.hcyy.value){
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{n}',index+1);
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{a}',get(element,"values.fphm.value",""));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{b}',get(element,"values.invoice_type.display",""));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{c}',multiLang && multiLang.get('refer-XX-0005')||'红冲原因');
|
||||||
|
}else{
|
||||||
|
itemMulTisp='';
|
||||||
|
}
|
||||||
|
if(itemMulTisp!==''){
|
||||||
|
toastMsgs.push(itemMulTisp)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 提示信息
|
||||||
|
// "1058-SQ-0006": "展开",
|
||||||
|
// "1058-SQ-0007": "收起",
|
||||||
|
// "1058-SQ-0008": "关闭",
|
||||||
|
// "refer-XX-0001": "明细",
|
||||||
|
// "refer-XX-0002": "部分数据不合规,请修改。",
|
||||||
|
if(toastMsgs.length){
|
||||||
|
return toast({
|
||||||
|
color: "danger",
|
||||||
|
groupOperation: true,
|
||||||
|
TextArr: [
|
||||||
|
multiLang && multiLang.get('1058-SQ-0006'),
|
||||||
|
multiLang && multiLang.get('1058-SQ-0007'),
|
||||||
|
multiLang && multiLang.get('1058-SQ-0008'),
|
||||||
|
],
|
||||||
|
content: multiLang && multiLang.get('refer-XX-0002'),
|
||||||
|
groupOperationMsg: toastMsgs,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
let newdatas = rows.map((one) => {
|
||||||
|
return {
|
||||||
|
pk: one.values.pk.value,
|
||||||
|
ts: one.values.ts.value,
|
||||||
|
fphm: one.values.fphm.value,
|
||||||
|
fpdm: one.values.fpdm.value,
|
||||||
|
redinfo: one.values.redinfo && one.values.redinfo.value||'',
|
||||||
|
hcyy: one.values.hcyy && one.values.hcyy.value||'',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
requestApi.RedRush({
|
||||||
|
data: {data: newdatas},
|
||||||
|
success: (data) => {
|
||||||
|
// if (data.msg && data.msg.indexOf('失败明细') == -1) {
|
||||||
|
// // toast({content: data.msg, color: 'success'});
|
||||||
|
// showListMessage.call(this, JSON.parse(data.userjson));
|
||||||
|
// } else {
|
||||||
|
// toast({content: data.msg, color: 'danger'});
|
||||||
|
showListMessage.call(this, JSON.parse(data.userjson));
|
||||||
|
// }
|
||||||
|
this.props.modal.close('redinfomodal');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
cancelBtnClick: ()=>{
|
||||||
|
this.props.modal.close('redinfomodal');
|
||||||
|
},
|
||||||
|
userControl:true,
|
||||||
|
})}
|
||||||
|
{this.props.modal.createModal('LnvoiceDownloadTypeModal', {
|
||||||
|
title: '发票类型',
|
||||||
|
content: (
|
||||||
|
<div className="area-content">
|
||||||
|
<div className="nc-bill-form-area">
|
||||||
|
{createForm('LnvoiceDownloadType', {
|
||||||
|
onAfterEvent : this.onAfterEditForm,//表单编辑后事件
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
size: '100',
|
||||||
|
beSureBtnClick: () => {
|
||||||
|
let formData = this.props.form.getAllFormValue(presetVar.formAreaId);
|
||||||
|
let formMap = this.props.form.getAllFormValue('LnvoiceDownloadType');
|
||||||
|
let pk = formData.rows[0].values.pk_invoice.value; //当前发票pk
|
||||||
|
let {pdf_type, xml_type, ofd_type} = formMap.rows[0].values
|
||||||
|
let invoiceType = pdf_type.value ? '1' : xml_type.value ? '2' : ofd_type.value ? '3' : '';
|
||||||
|
if (!invoiceType) {
|
||||||
|
return toast({
|
||||||
|
color: 'danger',
|
||||||
|
content: '请选择下载的文件类型'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
let arrInvoiceTypes=[];
|
||||||
|
if(pdf_type.value){
|
||||||
|
arrInvoiceTypes.push('1');
|
||||||
|
invoiceType='1';
|
||||||
|
let params = {pk, invoiceType};
|
||||||
|
formDownload({
|
||||||
|
params,
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
enctype: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(xml_type.value){
|
||||||
|
arrInvoiceTypes.push('2');
|
||||||
|
invoiceType='2';
|
||||||
|
let params = {pk, invoiceType};
|
||||||
|
formDownload({
|
||||||
|
params,
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
enctype: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if(ofd_type.value){
|
||||||
|
arrInvoiceTypes.push('3');
|
||||||
|
invoiceType='3';
|
||||||
|
let params = {pk, invoiceType};
|
||||||
|
formDownload({
|
||||||
|
params,
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
enctype: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.props.modal.close('LnvoiceDownloadTypeModal')
|
||||||
|
// let params = {pk, invoiceType};
|
||||||
|
// requestApi.download({
|
||||||
|
// data: params,
|
||||||
|
// success: (res) => {
|
||||||
|
// formDownload({
|
||||||
|
// params,
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// enctype: 1
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// })
|
||||||
|
|
||||||
|
// formDownload({
|
||||||
|
// params,
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// // url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
// enctype: 1
|
||||||
|
// });
|
||||||
|
},
|
||||||
|
cancelBtnClick: () => {
|
||||||
|
this.props.modal.close('LnvoiceDownloadTypeModal')
|
||||||
|
},
|
||||||
|
userControl: true
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let InvoiceSaleCardDom = createPage({
|
||||||
|
mutiLangCode: '1058',
|
||||||
|
billinfo: {
|
||||||
|
billtype: 'card',
|
||||||
|
pagecode: '105802KP_card',
|
||||||
|
headcode: 'head',
|
||||||
|
bodycode: 'invoicebody',
|
||||||
|
},
|
||||||
|
|
||||||
|
})(InvoiceSaleCard);
|
||||||
|
export default InvoiceSaleCardDom;
|
||||||
|
/*UFigk5STJwm8UdgGL1uB/XekbNt/WrTNa19WDhPxAaU=*/
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*VYZh/ieLfoiunqL5CmpQqFo7O+k8nzrIZsNJltzpfDE=*/
|
||||||
|
import presetVarParent from '../../../public/common/presetVar'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
...presetVarParent,
|
||||||
|
pagecode: '105802KP_card',
|
||||||
|
listPagecode: '105802KP_list',
|
||||||
|
formAreaId: 'head',
|
||||||
|
mutiLangCode: '1058',
|
||||||
|
moduleId: '1058',
|
||||||
|
domainName: 'sscivm',
|
||||||
|
currentLocale: 'simpchn',
|
||||||
|
headAreaId: 'header',
|
||||||
|
tableAreaId: 'invoicebody',
|
||||||
|
tableBtnAreaId: 'body',
|
||||||
|
tableBtns: {
|
||||||
|
/**
|
||||||
|
* 展开
|
||||||
|
*/
|
||||||
|
Body_Edit: 'Body_Edit'
|
||||||
|
},
|
||||||
|
headBtns: {
|
||||||
|
/**
|
||||||
|
* 红冲
|
||||||
|
*/
|
||||||
|
body_RedRush: 'body_RedRush',
|
||||||
|
/**
|
||||||
|
* 作废
|
||||||
|
*/
|
||||||
|
body_Invalid: 'body_Invalid',
|
||||||
|
/**
|
||||||
|
* 联查发票
|
||||||
|
*/
|
||||||
|
LinkInvoice: 'LinkInvoice',
|
||||||
|
RedRush: 'RedRush',
|
||||||
|
Invalid: 'Invalid',
|
||||||
|
Download: 'Download',
|
||||||
|
LinkBill: 'LinkBill',
|
||||||
|
/**
|
||||||
|
* 联查单据
|
||||||
|
*/
|
||||||
|
LinkBusiBill: 'LinkBusiBill'
|
||||||
|
},
|
||||||
|
LinkInvoiceBillType:'SSIV',//联查发票billType
|
||||||
|
/** 特殊票种表体区域编码 */
|
||||||
|
tspzBodyAreaId:'invoice_Tspz'
|
||||||
|
}
|
||||||
|
/*VYZh/ieLfoiunqL5CmpQqFo7O+k8nzrIZsNJltzpfDE=*/
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
/*Mq+ry/aXt/6nN0mNqW5qEOCuGEUiGEcOgTSebzVVuDg=*/
|
||||||
|
import {ajax} from 'nc-lightapp-front';
|
||||||
|
|
||||||
|
let requestApi = {
|
||||||
|
//初始化card数据
|
||||||
|
loadData: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/IVSaleCardQryAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: (data) => {
|
||||||
|
data = data.data;
|
||||||
|
opt.success(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 刷新
|
||||||
|
refresh: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/ApplicationQryAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: (data) => {
|
||||||
|
data = data.data;
|
||||||
|
opt.success(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//红冲
|
||||||
|
RedRush: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/SaleInvoiceRedRushAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: (data) => {
|
||||||
|
data = data.data;
|
||||||
|
opt.success(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//作废
|
||||||
|
Invalid: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/SaleInvoiceInvalidAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: (data) => {
|
||||||
|
data = data.data;
|
||||||
|
opt.success(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//下载
|
||||||
|
download: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: (data) => {
|
||||||
|
data = data.data;
|
||||||
|
opt.success(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
};
|
||||||
|
export default requestApi;
|
||||||
|
/*Mq+ry/aXt/6nN0mNqW5qEOCuGEUiGEcOgTSebzVVuDg=*/
|
||||||
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*ss7v63N3d4GC7jYsqbOM0ldGBNnWu4PifVYhhfl6Nqc=*/
|
||||||
|
import {toast} from "nc-lightapp-front"
|
||||||
|
import requestApi from '../requestApi'
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
export default function (props, searchVal, pageIndex, pageSize, scene) {
|
||||||
|
let pageInfo = this.props.table.getTablePageInfo(presetVar.tableAreaId);
|
||||||
|
pageInfo.pageIndex = pageIndex.toString();
|
||||||
|
pageInfo.pageSize = pageInfo.pageSize.toString();
|
||||||
|
let searchInfo = props.search.getQueryInfo(presetVar.searchAreaId);
|
||||||
|
let data = {
|
||||||
|
querycondition: this.searchVal,
|
||||||
|
pagecode: presetVar.pagecode,
|
||||||
|
areaid: presetVar.tableAreaId,
|
||||||
|
queryAreaCode: presetVar.searchAreaId, //查询区编码
|
||||||
|
oid: (searchInfo || {}).oid || presetVar.queryOid, //查询模板id
|
||||||
|
querytype: 'tree',
|
||||||
|
pageInfo: pageInfo
|
||||||
|
};
|
||||||
|
requestApi.queryData({
|
||||||
|
data: data,
|
||||||
|
success: (data) => {
|
||||||
|
let dataNum = data.pks ? data.pks.length : 0;
|
||||||
|
if (dataNum > 0) {
|
||||||
|
if (scene == 'refresh') {
|
||||||
|
this.pubMessage.refreshSuccess();
|
||||||
|
} else {
|
||||||
|
this.pubMessage.querySuccess(dataNum);
|
||||||
|
}
|
||||||
|
let pageData = {
|
||||||
|
...data[presetVar.tableAreaId][presetVar.tableAreaId],
|
||||||
|
allpks: data.pks,
|
||||||
|
alltss: data.ts,
|
||||||
|
pageInfo: {
|
||||||
|
...pageInfo,
|
||||||
|
total: dataNum,
|
||||||
|
totalPage: Math.ceil(dataNum / pageInfo.pageSize).toString(),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
props.table.setAllTableData(presetVar.tableAreaId, pageData);
|
||||||
|
} else {
|
||||||
|
toast({color: 'warning', content: this.multiLangJson[presetVar.mutiLangCodeDetail.queryNoData]});
|
||||||
|
props.table.setAllTableData(presetVar.tableAreaId, {rows: []});
|
||||||
|
}
|
||||||
|
// props.button.setButtonDisabled([presetVar.headBtns.RedRush, presetVar.headBtns.Invalid, presetVar.headBtns.Download], true);
|
||||||
|
// 更新按钮状态
|
||||||
|
this.onSelected.call(this);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
/*ss7v63N3d4GC7jYsqbOM0ldGBNnWu4PifVYhhfl6Nqc=*/
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
/*JcqPaQna8Ia7w+G9n+w0DFWjspVEDM20+HMpPQMYUTI=*/
|
||||||
|
import { requestPromise } from 'ssccommon/utils/asyncFunctions.js';
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据pks铲鲟数据
|
||||||
|
* @param {*} data
|
||||||
|
*/
|
||||||
|
async function queryDataByPks(data) {
|
||||||
|
try {
|
||||||
|
const result = await requestPromise({
|
||||||
|
url: `/nccloud/sscivm/ivsale/IVSaleListQryAction.do`,
|
||||||
|
data,
|
||||||
|
});
|
||||||
|
return result
|
||||||
|
} catch (e) {
|
||||||
|
toast({ title: e.message, duration: 5, color: 'danger', })
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async function (pks) {
|
||||||
|
let sendData = {
|
||||||
|
pagecode: presetVar.pagecode,
|
||||||
|
areaid: presetVar.tableAreaId,
|
||||||
|
pks,
|
||||||
|
};
|
||||||
|
let data = await queryDataByPks(sendData);
|
||||||
|
if (data) {
|
||||||
|
return data;
|
||||||
|
} else {
|
||||||
|
toast({ color: 'warning', content: this.multiLangJson[presetVar.mutiLangCodeDetail.queryNoData] });
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*JcqPaQna8Ia7w+G9n+w0DFWjspVEDM20+HMpPQMYUTI=*/
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
/*m8B93TCdFd8qlmmtcAONoDmJvPJyYp0eyNtfZP4NixE=*/
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
export default function (data) {
|
||||||
|
if (data[presetVar.tableAreaId]) {
|
||||||
|
let rowIdMap = {};
|
||||||
|
let tableData = this.props.table.getAllTableData(presetVar.tableAreaId);
|
||||||
|
tableData.rows.forEach(one => {
|
||||||
|
rowIdMap[one.values[presetVar.pkname].value] = one.rowId;
|
||||||
|
});
|
||||||
|
data[presetVar.tableAreaId][presetVar.tableAreaId].rows.forEach(one => {
|
||||||
|
one.rowId = rowIdMap[one.values[presetVar.pkname].value];
|
||||||
|
});
|
||||||
|
this.props.table.updateTableData(presetVar.tableAreaId, data[presetVar.tableAreaId][presetVar.tableAreaId]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*m8B93TCdFd8qlmmtcAONoDmJvPJyYp0eyNtfZP4NixE=*/
|
||||||
|
|
@ -0,0 +1,94 @@
|
||||||
|
/*5Sewzsgb8H4wZEbgmC08glOakf82gL82KPgXhgql5QY=*/
|
||||||
|
import { toast, formDownload, } from 'nc-lightapp-front';
|
||||||
|
import queryDataByPks from '../common/queryDataByPks'
|
||||||
|
import presetVar from '../presetVar';
|
||||||
|
import requestApi from '../requestApi'
|
||||||
|
|
||||||
|
export default async function () {
|
||||||
|
let multiLang = this.props.MutiInit.getIntl(1058); //this.moduleId
|
||||||
|
let tableData = this.props.table.getCheckedRows(presetVar.tableAreaId);
|
||||||
|
let eInvoiceArr = []; //电子发票
|
||||||
|
let sInvoiceArr = []; //普通发票s
|
||||||
|
let hasPageChange = false;
|
||||||
|
let pks = tableData.map((one)=>{
|
||||||
|
if(one.data.values) {
|
||||||
|
return one.data.values.pk_invoice.value;
|
||||||
|
}else{
|
||||||
|
hasPageChange = true;
|
||||||
|
return one.data.pk;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (hasPageChange) {
|
||||||
|
// 如果选择得是后页数据,需要从数据库重新查询数据
|
||||||
|
let data = await queryDataByPks(pks);
|
||||||
|
if (data.data && data.data[presetVar.tableAreaId] && data.data[presetVar.tableAreaId][presetVar.tableAreaId] && data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows && data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows.length > 0) {
|
||||||
|
tableData = data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows.map((one)=>{
|
||||||
|
return {
|
||||||
|
data: one
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
tableData.map((item) => {
|
||||||
|
// 只支持 增值税电子普通发票=1,增值税电子专用发票=2,增值税电子普通发票(成品油)=8,全电票(31,32),矿产类发票(116增值税电子普通发票、216增值税电子专用发票、316增值税普通发票、416增值税专用发票)
|
||||||
|
if (
|
||||||
|
item.data.values.invoice_type.value == 1 ||
|
||||||
|
item.data.values.invoice_type.value == 2 || item.data.values.invoice_type.value == 8 ||
|
||||||
|
item.data.values.invoice_type.value == 31 || item.data.values.invoice_type.value == 32 ||
|
||||||
|
item.data.values.invoice_type.value == 116 || item.data.values.invoice_type.value == 216 ||
|
||||||
|
item.data.values.invoice_type.value == 316 || item.data.values.invoice_type.value == 416 ) {
|
||||||
|
eInvoiceArr.push({
|
||||||
|
pk: item.data.values.pk_invoice.value,
|
||||||
|
type: item.data.values.invoice_type.value
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
sInvoiceArr.push({
|
||||||
|
fphm: item.data.values.fphm.value,
|
||||||
|
fpdm: item.data.values.fpdm.value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (eInvoiceArr.length > 0) {
|
||||||
|
eInvoiceArr.forEach((item, index) => {
|
||||||
|
// 只支持 增值税电子普通发票=1,增值税电子专用发票=2,增值税电子普通发票(成品油)=8,全电票(31,32),矿产类发票(116增值税电子普通发票、216增值税电子专用发票、316增值税普通发票、416增值税专用发票)
|
||||||
|
if (item.type == 1 ||
|
||||||
|
item.type == 2 || item.type == 8 ||
|
||||||
|
item.type == 31 || item.type == 32 ||
|
||||||
|
item.type == 116 || item.type == 216 ||
|
||||||
|
item.type == 316 || item.type == 416 ) {
|
||||||
|
const params = item;
|
||||||
|
requestApi.download({
|
||||||
|
data: params,
|
||||||
|
success: (res) => {
|
||||||
|
formDownload({
|
||||||
|
params,
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
enctype: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 清除勾选状态
|
||||||
|
this.props.table.selectAllRows(presetVar.tableAreaId, false);
|
||||||
|
// 更新按钮状态
|
||||||
|
this.onSelected.call(this);
|
||||||
|
}
|
||||||
|
if (sInvoiceArr.length > 0) {
|
||||||
|
let hmArr = [];
|
||||||
|
let dmArr = [];
|
||||||
|
sInvoiceArr.forEach((item) => {
|
||||||
|
hmArr.push(item.fphm);
|
||||||
|
dmArr.push(item.fpdm)
|
||||||
|
});
|
||||||
|
// "1058-FP-0005": "本次共下载",
|
||||||
|
// "1058-FP-0006": "张发票,",
|
||||||
|
// "1058-FP-0007": "张非电票未能下载。未下载明细:发票号码:",
|
||||||
|
// "1058-FP-0008": "发票代码:",
|
||||||
|
toast({
|
||||||
|
content: (multiLang && multiLang.get('1058-FP-0005')) + eInvoiceArr.length + (multiLang && multiLang.get('1058-FP-0006')) + sInvoiceArr.length + (multiLang && multiLang.get('1058-FP-0007')) + hmArr.join() + (multiLang && multiLang.get('1058-FP-0008')) + dmArr.join(),
|
||||||
|
color: 'danger'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*5Sewzsgb8H4wZEbgmC08glOakf82gL82KPgXhgql5QY=*/
|
||||||
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*iJZETWydRmfD8GcyN7tU3027MMbMhRuXNnqDSW3mvN0=*/
|
||||||
|
import {toast} from "nc-lightapp-front"
|
||||||
|
import requestApi from '../requestApi'
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
import updataListData from "../common/updataListData";
|
||||||
|
import showListMessage from "../../../../invoiceApplication/invoiceApl/list/common/showListMessage";
|
||||||
|
|
||||||
|
export default function (data) {
|
||||||
|
let multiLang = this.props.MutiInit.getIntl(1058); //this.moduleId
|
||||||
|
let CheckedRows = this.props.table.getCheckedRows(presetVar.tableAreaId);
|
||||||
|
let arr = [];
|
||||||
|
if (data) {
|
||||||
|
arr.push(data)
|
||||||
|
} else {
|
||||||
|
if (CheckedRows.length > 0) {
|
||||||
|
CheckedRows.forEach((CheckedRows) => {
|
||||||
|
arr.push({
|
||||||
|
pk: CheckedRows.data.values && CheckedRows.data.values.pk_invoice.value || CheckedRows.data.pk,
|
||||||
|
ts: CheckedRows.data.values && CheckedRows.data.values.ts.value || CheckedRows.data.ts,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let sendData = {
|
||||||
|
data: arr
|
||||||
|
}
|
||||||
|
if (CheckedRows) {
|
||||||
|
requestApi.Invalid({
|
||||||
|
data: sendData,
|
||||||
|
success: (data) => {
|
||||||
|
if (data) {
|
||||||
|
// 更新页面数据
|
||||||
|
updataListData.call(this, data);
|
||||||
|
// 更新按钮状态
|
||||||
|
this.onSelected.call(this);
|
||||||
|
// 失败不清除勾选状态
|
||||||
|
if (data.userjson && data.userjson.failData) {
|
||||||
|
let tableData = this.props.table.getAllTableData(presetVar.tableAreaId);
|
||||||
|
JSON.parse(data.userjson).failData.map((one) => {
|
||||||
|
tableData.rows.map((currentValue, index) => {
|
||||||
|
if (currentValue.values.fpdm.value == one.fpdm) {
|
||||||
|
this.props.table.selectTableRows(presetVar.tableAreaId, index, true);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
showListMessage.call(this, JSON.parse(data.userjson));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
// "1058-FP-0002": "请选择要作废的发票",
|
||||||
|
toast({content: multiLang && multiLang.get('1058-FP-0002'), color: 'warning'});
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*iJZETWydRmfD8GcyN7tU3027MMbMhRuXNnqDSW3mvN0=*/
|
||||||
|
|
@ -0,0 +1,109 @@
|
||||||
|
/*Khh89dHQlUVkuhmWu2d317GC9qs+ZmXFCj3NbKTVe2w=*/
|
||||||
|
import {toast} from "nc-lightapp-front"
|
||||||
|
import requestApi from '../requestApi'
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
import updataListData from "../common/updataListData";
|
||||||
|
import queryDataByPks from '../common/queryDataByPks'
|
||||||
|
import showListMessage from "../../../../invoiceApplication/invoiceApl/list/common/showListMessage";
|
||||||
|
|
||||||
|
export default async function (data, flag) {
|
||||||
|
let multiLang = this.props.MutiInit.getIntl(1058); //this.moduleId
|
||||||
|
let arr = [];
|
||||||
|
let needRedInfo = [];
|
||||||
|
if (data && flag) {
|
||||||
|
arr=data
|
||||||
|
}else if(data){
|
||||||
|
arr.push(data)
|
||||||
|
} else {
|
||||||
|
let CheckedRows = this.props.table.getCheckedRows(presetVar.tableAreaId);
|
||||||
|
if (CheckedRows.length > 0) {
|
||||||
|
let hasPageChange = false;
|
||||||
|
let pks = CheckedRows.map((one)=>{
|
||||||
|
if(one.data.values) {
|
||||||
|
return one.data.values.pk_invoice.value;
|
||||||
|
}else{
|
||||||
|
hasPageChange = true;
|
||||||
|
return one.data.pk;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (hasPageChange) {
|
||||||
|
// 如果选择得是后页数据,需要从数据库重新查询数据
|
||||||
|
let data = await queryDataByPks(pks);
|
||||||
|
if (data.data && data.data[presetVar.tableAreaId] && data.data[presetVar.tableAreaId][presetVar.tableAreaId] && data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows && data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows.length > 0) {
|
||||||
|
CheckedRows = data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows.map((one)=>{
|
||||||
|
return {
|
||||||
|
data: one
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.noRedInfo=[];
|
||||||
|
CheckedRows.forEach((CheckedRows) => {
|
||||||
|
if(CheckedRows.data.values.fpzt.value == 0 && CheckedRows.data.values.jshj.value >= 0){
|
||||||
|
needRedInfo.push({
|
||||||
|
values: {
|
||||||
|
fphm: { value: CheckedRows.data.values.fphm.value },
|
||||||
|
fpdm: { value: CheckedRows.data.values.fpdm.value },
|
||||||
|
jshj: { value: CheckedRows.data.values.jshj.value },
|
||||||
|
pk: { value: CheckedRows.data.values.pk_invoice.value },
|
||||||
|
ts: { value: CheckedRows.data.values.ts.value },
|
||||||
|
invoice_type: {
|
||||||
|
value: CheckedRows.data.values.invoice_type.value,
|
||||||
|
display:CheckedRows.data.values.invoice_type.display
|
||||||
|
},
|
||||||
|
hcyy:{value:''}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
this.noRedInfo.push({
|
||||||
|
pk: CheckedRows.data.values && CheckedRows.data.values.pk_invoice.value || CheckedRows.data.pk,
|
||||||
|
ts: CheckedRows.data.values && CheckedRows.data.values.ts.value || CheckedRows.data.ts,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
arr.push({
|
||||||
|
pk: CheckedRows.data.values && CheckedRows.data.values.pk_invoice.value || CheckedRows.data.pk,
|
||||||
|
ts: CheckedRows.data.values && CheckedRows.data.values.ts.value || CheckedRows.data.ts
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let sendData = {
|
||||||
|
data: arr
|
||||||
|
};
|
||||||
|
if(needRedInfo.length>0){
|
||||||
|
this.props.modal.show('redinfomodal');
|
||||||
|
this.props.editTable.setTableData('redinfo', {rows:needRedInfo});
|
||||||
|
this.props.editTable.setStatus('redinfo', 'edit');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (arr.length>0) {
|
||||||
|
requestApi.RedRush({
|
||||||
|
data: sendData,
|
||||||
|
success: (data) => {
|
||||||
|
if (data) {
|
||||||
|
// 更新页面数据
|
||||||
|
updataListData.call(this, data);
|
||||||
|
// 更新按钮状态
|
||||||
|
this.onSelected.call(this);
|
||||||
|
// 失败不清除勾选状态
|
||||||
|
if (data.userjson && data.userjson.failData) {
|
||||||
|
let tableData = this.props.table.getAllTableData(presetVar.tableAreaId);
|
||||||
|
JSON.parse(data.userjson).failData.map((one) => {
|
||||||
|
tableData.rows.map((currentValue, index) => {
|
||||||
|
if (currentValue.values.fpdm.value == one.fpdm) {
|
||||||
|
this.props.table.selectTableRows(presetVar.tableAreaId, index, true);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
showListMessage.call(this, JSON.parse(data.userjson));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
// "1058-FP-0003": "请选择要红冲的发票",
|
||||||
|
toast({content: multiLang && multiLang.get('1058-FP-0003'), color: 'warning'});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*Khh89dHQlUVkuhmWu2d317GC9qs+ZmXFCj3NbKTVe2w=*/
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
/*JNnb7VnKIimhevxx9sWXRp2uqhnqWhEwsGPYQD2u3Ic=*/
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
import requestApi from '../requestApi'
|
||||||
|
import {toast} from 'nc-lightapp-front';
|
||||||
|
|
||||||
|
export default function (props, config, pks) {
|
||||||
|
let sendData = {
|
||||||
|
pagecode: presetVar.pagecode,
|
||||||
|
areaid: presetVar.tableAreaId,
|
||||||
|
pks: pks
|
||||||
|
};
|
||||||
|
requestApi.changePage({
|
||||||
|
data: sendData,
|
||||||
|
success: (data) => {
|
||||||
|
if (data) {
|
||||||
|
props.table.setAllTableData(presetVar.tableAreaId, data[presetVar.tableAreaId][presetVar.tableAreaId]);
|
||||||
|
} else {
|
||||||
|
toast({color: 'warning', content: this.multiLangJson[presetVar.mutiLangCodeDetail.queryNoData]});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/*JNnb7VnKIimhevxx9sWXRp2uqhnqWhEwsGPYQD2u3Ic=*/
|
||||||
|
|
@ -0,0 +1,125 @@
|
||||||
|
/*pmFWCFu5nhKkBzYmrkBakW6TAzJpB+wJDv+WV4b5Sr8=*/
|
||||||
|
import {base, high, ajax, toast, getMultiLang, getBusinessInfo} from 'nc-lightapp-front';
|
||||||
|
import 'ssccommon/components/globalPresetVar';
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
import {setTableExtendCol} from 'ssccommon/components/profile'
|
||||||
|
import onRowDoubleClick from "./onRowDoubleClick";
|
||||||
|
import tableButtonEvent from './tableButtonEvent'
|
||||||
|
|
||||||
|
export default function (props) {
|
||||||
|
|
||||||
|
let that = this;
|
||||||
|
/**
|
||||||
|
* 取得模板
|
||||||
|
*/
|
||||||
|
let createUIDomPromise = new Promise((resolve, reject) => {
|
||||||
|
props.createUIDom(
|
||||||
|
{},
|
||||||
|
(data) => {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
|
)
|
||||||
|
})
|
||||||
|
// 多语
|
||||||
|
this.getMultiLangPromise = new Promise((resolve, reject) => {
|
||||||
|
getMultiLang({
|
||||||
|
moduleId: presetVar.mutiLangCode,
|
||||||
|
domainName: presetVar.domainName,
|
||||||
|
currentLocale: presetVar.currentLocale,
|
||||||
|
callback: (json) => {
|
||||||
|
resolve(json);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
Promise.all([createUIDomPromise, this.getMultiLangPromise]).then((resultList) => {
|
||||||
|
let data = resultList[0];
|
||||||
|
let json = resultList[1];
|
||||||
|
|
||||||
|
this.multiLangJson = json;
|
||||||
|
|
||||||
|
let button = data.button;
|
||||||
|
// 设置按钮模板
|
||||||
|
props.button.setButtons(button);
|
||||||
|
//设置按钮的初始可用性
|
||||||
|
props.button.setButtonDisabled([presetVar.headBtns.RedRush, presetVar.headBtns.Invalid, presetVar.headBtns.Download, presetVar.headBtns.LinkBill, presetVar.headBtns.linkinvoice, presetVar.headBtns.LinkBusiBill], true);
|
||||||
|
let meta = data.template;
|
||||||
|
meta[presetVar.searchAreaId].items.forEach(ele => {
|
||||||
|
if (ele.attrcode === 'invoice_type') {
|
||||||
|
const codes = ['15', '16', '17', '18', '19', '20', '21',]
|
||||||
|
ele.options = ele.options.filter(each => !codes.includes(each.value))
|
||||||
|
}else if(ele.attrcode == 'pk_org') {
|
||||||
|
ele.queryCondition = () => {
|
||||||
|
return {
|
||||||
|
pk_group: (getBusinessInfo() || {}).groupId,
|
||||||
|
TreeRefActionExt: 'nccloud.web.sscivm.ivrec.ref.sqlbuilder.FinanceOrgRefSqlBuilder',
|
||||||
|
DataPowerOperationCode: 'fi',
|
||||||
|
isDataPowerEnable: 'Y',
|
||||||
|
appcode: props.getSearchParam('c')
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 页面标题
|
||||||
|
// that.setState({pageTitle: that.props.getSearchParam('n')});
|
||||||
|
// 设置列表支持翻页
|
||||||
|
meta[presetVar.tableAreaId].pagination = true;
|
||||||
|
//设置表格的扩展按钮列
|
||||||
|
setTableExtendCol(props, data.template, [{
|
||||||
|
width: '200px',
|
||||||
|
areaId: presetVar.tableAreaId,
|
||||||
|
btnAreaId: presetVar.tableBtnAreaId,
|
||||||
|
buttonVisible: (record, index) => {
|
||||||
|
return bodyBtnEnabled(record);
|
||||||
|
},
|
||||||
|
onButtonClick: tableButtonEvent.bind(that)
|
||||||
|
}]);
|
||||||
|
|
||||||
|
// 发票号列自定义
|
||||||
|
props.table.setTableRender(presetVar.tableAreaId, "fphm", (text, record, index) => {
|
||||||
|
return (<a className="fphm" style={{cursor: 'pointer'}}
|
||||||
|
onClick={() => {
|
||||||
|
onRowDoubleClick.call(that, record, index, props);
|
||||||
|
}}> {record.fphm.value} </ a>
|
||||||
|
)
|
||||||
|
})
|
||||||
|
// props.meta.setMeta(meta);
|
||||||
|
//设置默认时间和组织
|
||||||
|
if ((this.props.search.getAllSearchData(presetVar.searchAreaId, false).conditions || []).length == 0) {
|
||||||
|
if (data.context.pk_org) {
|
||||||
|
this.props.search.setSearchValByField(presetVar.searchAreaId, 'pk_org', {
|
||||||
|
value: data.context.pk_org,
|
||||||
|
display: data.context.org_Name
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.props.search.setSearchValByField(presetVar.searchAreaId, 'kprq', {value: ['#month(0)#', '#month(0)#']});
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表按钮可用判断
|
||||||
|
* @param {*} record
|
||||||
|
*/
|
||||||
|
//正常0 显示红冲作废
|
||||||
|
//红冲1 显示作废
|
||||||
|
//作废2 都不显示
|
||||||
|
function bodyBtnEnabled(record) {
|
||||||
|
if (record.fpzt.value == 1) {
|
||||||
|
return [presetVar.tableBtns.body_Invalid]
|
||||||
|
} else if (record.fpzt.value == 0) {
|
||||||
|
if (record.red_flag.value === '1') {
|
||||||
|
return [presetVar.tableBtns.body_Invalid,]
|
||||||
|
} else {
|
||||||
|
return [
|
||||||
|
presetVar.tableBtns.body_RedRush,
|
||||||
|
presetVar.tableBtns.body_Invalid,
|
||||||
|
]
|
||||||
|
}
|
||||||
|
} else if (record.fpzt.value == 2) {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*pmFWCFu5nhKkBzYmrkBakW6TAzJpB+wJDv+WV4b5Sr8=*/
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
/*s+bAmh19O1OWrgiuPwXSstGgSjMjFLS595hansunioE=*/
|
||||||
|
import queryData from '../common/queryData'
|
||||||
|
|
||||||
|
export default function (props, searchVal, scene) {
|
||||||
|
if (searchVal && JSON.stringify(searchVal) != "{}") {
|
||||||
|
this.searchVal = searchVal;
|
||||||
|
queryData.call(this, props, searchVal, 0, 10, scene);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*s+bAmh19O1OWrgiuPwXSstGgSjMjFLS595hansunioE=*/
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
/*wkIeZP/f+8mx3/nHYiHB/wEqIKtCN3804nqhAXRXxdI=*/
|
||||||
|
import queryDataByPks from '../common/queryDataByPks'
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 联查发票
|
||||||
|
*/
|
||||||
|
export default async function () {
|
||||||
|
let checked = this.props.table.getCheckedRows(presetVar.tableAreaId);
|
||||||
|
let values = {};
|
||||||
|
if(checked[0].data.values){
|
||||||
|
values = checked[0].data.values
|
||||||
|
}else{
|
||||||
|
// 如果选择得是后页数据,需要从数据库重新查询数据
|
||||||
|
let data = await queryDataByPks([checked[0].data.pk]);
|
||||||
|
if(data.data && data.data[presetVar.tableAreaId] && data.data[presetVar.tableAreaId][presetVar.tableAreaId] && data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows && data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows.length > 0){
|
||||||
|
values = data.data[presetVar.tableAreaId][presetVar.tableAreaId].rows[0].values;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.invoiceComponent.setBillParams({
|
||||||
|
pkBill: values[presetVar.pkname].value,
|
||||||
|
billType: presetVar.LinkInvoiceBillType,//单据类型
|
||||||
|
tradeType:"",//销项发票中获取不到交易类型,此处传空,由后端处理
|
||||||
|
}, () => {
|
||||||
|
this.invoiceComponent.linkInvoice.show();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
/*wkIeZP/f+8mx3/nHYiHB/wEqIKtCN3804nqhAXRXxdI=*/
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
/*xbBNZdDFBeHR0NxHIc8oECyrN49bDHrrIZosDMc0bAs=*/
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
|
||||||
|
export default function (record, index, props) {
|
||||||
|
// 打开单据页面
|
||||||
|
this.props.pushTo("/card", {
|
||||||
|
status: presetVar.status.browse,
|
||||||
|
pagecode: presetVar.cardPagecode,
|
||||||
|
id: record[presetVar.pkname].value,
|
||||||
|
tradetype: record[presetVar.billtypecode].value,
|
||||||
|
scene: 'listTo',
|
||||||
|
billcode: record.billno.value
|
||||||
|
})
|
||||||
|
}
|
||||||
|
/*xbBNZdDFBeHR0NxHIc8oECyrN49bDHrrIZosDMc0bAs=*/
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*upBNcA9hDYBunI8fe4SwjEWttezceFcoGTDyYpyXW6I=*/
|
||||||
|
import ivmSearchBtnClick from './ivmSearchBtnClick'
|
||||||
|
import presetVar from "../presetVar";
|
||||||
|
|
||||||
|
export default function (props, searchVal) {
|
||||||
|
searchVal = this.props.search.getAllSearchData(presetVar.searchAreaId);
|
||||||
|
ivmSearchBtnClick.call(this, props, searchVal, 'refresh');
|
||||||
|
}
|
||||||
|
/*upBNcA9hDYBunI8fe4SwjEWttezceFcoGTDyYpyXW6I=*/
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
/*2m/SN66JmdiWgHtRCBPRtNdar5Kd56DoEKmbsEF48C4=*/
|
||||||
|
import presetVar from '../presetVar'
|
||||||
|
import redrush from './RedRush'
|
||||||
|
import invalid from './Invalid'
|
||||||
|
|
||||||
|
export default function () {
|
||||||
|
return {
|
||||||
|
// 红冲
|
||||||
|
[presetVar.tableBtns.body_RedRush]: {
|
||||||
|
click: (btnKey, record, index) => {
|
||||||
|
this.noRedInfo=[];
|
||||||
|
this.props.modal.show('redinfomodal');
|
||||||
|
this.props.editTable.setTableData('redinfo', {
|
||||||
|
rows:[{
|
||||||
|
values:{
|
||||||
|
fphm: {value:record.fphm.value},
|
||||||
|
fpdm: {value:record.fpdm.value},
|
||||||
|
jshj: {value:record.jshj.value},
|
||||||
|
pk: {value:record.pk_invoice.value},
|
||||||
|
ts: {value:record.ts.value},
|
||||||
|
invoice_type: {value:record.invoice_type.value,display:record.invoice_type.display},
|
||||||
|
redinfo:{value:''},
|
||||||
|
hcyy:{value:''}
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
});
|
||||||
|
this.props.editTable.setStatus('redinfo', 'edit');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 作废
|
||||||
|
[presetVar.tableBtns.body_Invalid]: {
|
||||||
|
click: (btnKey, record, index) => {
|
||||||
|
let data = {
|
||||||
|
'pk': record.pk_invoice.value,
|
||||||
|
'ts': record.ts.value,
|
||||||
|
};
|
||||||
|
invalid.call(this, data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/*2m/SN66JmdiWgHtRCBPRtNdar5Kd56DoEKmbsEF48C4=*/
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
#invoice-sale-list{
|
||||||
|
.ivm-searcharea{
|
||||||
|
background: #fff;
|
||||||
|
padding-left: 20px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,389 @@
|
||||||
|
/*XqV/awHDdJTpxRspYcyLqVDeDCgh8D0u/n5Pb+9JsHE=*/
|
||||||
|
import React, {
|
||||||
|
Component
|
||||||
|
} from "react";
|
||||||
|
import {
|
||||||
|
formDownload,
|
||||||
|
createPage,
|
||||||
|
getMultiLang,
|
||||||
|
base,
|
||||||
|
toast
|
||||||
|
} from "nc-lightapp-front";
|
||||||
|
import "./index.less";
|
||||||
|
import initTemplate from "./events/initTemplate.js";
|
||||||
|
import handlePageInfoChange from './events/handlePageInfoChange';
|
||||||
|
import ivmSearchBtnClick from './events/ivmSearchBtnClick';
|
||||||
|
import onRowDoubleClick from './events/onRowDoubleClick';
|
||||||
|
import RedRush from './events/RedRush';
|
||||||
|
import Invalid from './events/Invalid';
|
||||||
|
import refresh from './events/refresh';
|
||||||
|
import Download from './events/Download';
|
||||||
|
import linkinvoice from './events/linkinvoice'
|
||||||
|
import BillListStyle from 'ssccommon/components/bill-list';
|
||||||
|
import presetVar from './presetVar'
|
||||||
|
import LinkBill from '../../linkBill/list/index'
|
||||||
|
import PubMessage from 'ssccommon/utils/pubMessage';
|
||||||
|
import InvoiceComponent from '../../../invoiceComponent/compoundComponent/component'
|
||||||
|
import LinkBillModal from 'ssccommon/components/linkbill/linkbillmodal/LinkBillModal';
|
||||||
|
import { setSearch, setTable, setEditTable,setForm } from 'ssccommon/utils/setComponentUsed';
|
||||||
|
import requestApi from "./requestApi";
|
||||||
|
import { replace, get } from "lodash";
|
||||||
|
|
||||||
|
import LinkSituation from '../../../invoiceApplication/linkSituation/list/linkSituation.js'
|
||||||
|
|
||||||
|
const DATA_SOURCE = `SSCIVM.INVOICE.RECEIVE.DATASOURCE`;
|
||||||
|
|
||||||
|
class InvoiceSale extends Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
multiLang: {}, // 多语对象
|
||||||
|
pageStatus: 'browse', // 页面状态
|
||||||
|
pageTitle: "", //页面标题
|
||||||
|
show: false, //联查开票情况弹框
|
||||||
|
linkBusiBillModalShow: false, //联查单据弹框
|
||||||
|
LinkBusiBillQueryParams: {} // 联查单据查询条件
|
||||||
|
};
|
||||||
|
this.searchVal = {}; //查询缓存
|
||||||
|
this.linkBill = {}; //联查开票情况传递参数
|
||||||
|
this.invoiceComponent = new InvoiceComponent('Invoice');
|
||||||
|
this.pubMessage = new PubMessage();
|
||||||
|
//平台组件初始化
|
||||||
|
setTable(props, presetVar.tableAreaId),
|
||||||
|
setSearch(props, presetVar.searchAreaId),
|
||||||
|
setEditTable(props, 'redinfo'),
|
||||||
|
setForm(props,'LnvoiceDownloadType')
|
||||||
|
initTemplate.call(this, props);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 头部按钮组事件分发
|
||||||
|
headerBtnEventDistribute = () => ({
|
||||||
|
|
||||||
|
[presetVar.headBtns.RedRush]: () => {
|
||||||
|
RedRush.call(this);
|
||||||
|
}, // 红冲
|
||||||
|
|
||||||
|
[presetVar.headBtns.Invalid]: () => {
|
||||||
|
Invalid.call(this);
|
||||||
|
}, // 作废
|
||||||
|
|
||||||
|
[presetVar.headBtns.Download]: () => {
|
||||||
|
this.props.modal.show('LnvoiceDownloadTypeModal');
|
||||||
|
this.props.form.setFormStatus('LnvoiceDownloadType', 'edit');
|
||||||
|
|
||||||
|
// Download.call(this);
|
||||||
|
}, // 下载
|
||||||
|
|
||||||
|
[presetVar.headBtns.LinkBill]: () => {
|
||||||
|
this.setState({ show: true });
|
||||||
|
}, // 联查开票申请
|
||||||
|
|
||||||
|
[presetVar.headBtns.linkinvoice]: () => {
|
||||||
|
linkinvoice.call(this);
|
||||||
|
}, // 联查关联发票
|
||||||
|
|
||||||
|
[presetVar.headBtns.LinkBusiBill]: () => {
|
||||||
|
let checked = this.props.table.getCheckedRows(presetVar.tableAreaId);
|
||||||
|
let pk = checked[0].data.values && checked[0].data.values[presetVar.pkname].value || checked[0].data.pk;
|
||||||
|
this.setState({
|
||||||
|
linkBusiBillModalShow: true,
|
||||||
|
LinkBusiBillQueryParams: {
|
||||||
|
pk_inovice: pk,
|
||||||
|
appcode: this.props.getSearchParam('c')
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}, // 联查单据
|
||||||
|
});
|
||||||
|
|
||||||
|
//头部刷新事件
|
||||||
|
refreshButtonEvent = () => {
|
||||||
|
refresh.call(this, this.props, this.searchVal)
|
||||||
|
};
|
||||||
|
|
||||||
|
// 查询区查询按钮点击
|
||||||
|
ivmSearchBtnClick = (...params) => {
|
||||||
|
ivmSearchBtnClick.call(this, ...params)
|
||||||
|
};
|
||||||
|
|
||||||
|
//表格行双击事件
|
||||||
|
onRowDoubleClick = (...params) => {
|
||||||
|
onRowDoubleClick.call(this, ...params);
|
||||||
|
};
|
||||||
|
|
||||||
|
//翻页器事件
|
||||||
|
handlePageInfoChange = (...params) => {
|
||||||
|
handlePageInfoChange.call(this, ...params);
|
||||||
|
};
|
||||||
|
|
||||||
|
//单选事件
|
||||||
|
onSelected = (props, moduleId, status, index, isSelect) => {//单选第五个参数为是否选中(true/false)
|
||||||
|
let checked = this.props.table.getCheckedRows(presetVar.tableAreaId);
|
||||||
|
if (checked && checked.length > 0) {
|
||||||
|
if (checked[0].data && checked[0].data.values) {
|
||||||
|
this.linkBill = {
|
||||||
|
fphm: checked[0].data.values.fphm.value,
|
||||||
|
fpdm: checked[0].data.values.fpdm.value,
|
||||||
|
pk: checked[0].data.values.pk_invoice.value
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
this.linkBill = {
|
||||||
|
fphm: '',
|
||||||
|
fpdm: '',
|
||||||
|
pk: checked[0].data ? checked[0].data.pk : '',
|
||||||
|
};
|
||||||
|
}
|
||||||
|
this.props.button.setButtonDisabled([presetVar.headBtns.RedRush, presetVar.headBtns.Invalid, presetVar.headBtns.Download, presetVar.headBtns.LinkBill, presetVar.headBtns.linkinvoice, presetVar.headBtns.LinkBusiBill], false);
|
||||||
|
} else {
|
||||||
|
this.props.button.setButtonDisabled([presetVar.headBtns.RedRush, presetVar.headBtns.Invalid, presetVar.headBtns.Download, presetVar.headBtns.LinkBill, presetVar.headBtns.linkinvoice, presetVar.headBtns.LinkBusiBill], true);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// 缓存数据赋值成功的钩子函数
|
||||||
|
componentInitFinished = () => {setTimeout(()=>{this.onSelected()},500)}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const {
|
||||||
|
props: {
|
||||||
|
search: { NCCreateSearch, },
|
||||||
|
table: { createSimpleTable, },
|
||||||
|
form: {createForm,},
|
||||||
|
},
|
||||||
|
headerBtnEventDistribute,
|
||||||
|
ivmSearchBtnClick,
|
||||||
|
refreshButtonEvent,
|
||||||
|
onRowDoubleClick,
|
||||||
|
handlePageInfoChange,
|
||||||
|
onSelected,
|
||||||
|
componentInitFinished,
|
||||||
|
} = this;
|
||||||
|
let multiLang = this.props.MutiInit.getIntl(1058);
|
||||||
|
return (
|
||||||
|
<BillListStyle
|
||||||
|
id='invoice-sale-list'
|
||||||
|
{...this.props}
|
||||||
|
>
|
||||||
|
{/*"1058-FP-0001": "销项发票"*/}
|
||||||
|
<BillListStyle.HeadArea
|
||||||
|
title={this.props.getSearchParam('n')}
|
||||||
|
refreshButtonEvent={refreshButtonEvent}
|
||||||
|
status={this.state.pageStatus}
|
||||||
|
>
|
||||||
|
{/* 头部按钮组 */}
|
||||||
|
<BillListStyle.ButtonGroup
|
||||||
|
area={presetVar.headBtnAreaId}
|
||||||
|
buttonEvent={headerBtnEventDistribute}
|
||||||
|
/>
|
||||||
|
</BillListStyle.HeadArea>
|
||||||
|
{/* 查询区 */}
|
||||||
|
<BillListStyle.SearchArea>
|
||||||
|
{NCCreateSearch(presetVar.searchAreaId, {
|
||||||
|
clickSearchBtn: ivmSearchBtnClick,
|
||||||
|
})}
|
||||||
|
</BillListStyle.SearchArea>
|
||||||
|
<BillListStyle.BodyArea>
|
||||||
|
{/* 列表 */}
|
||||||
|
{createSimpleTable(presetVar.tableAreaId, {
|
||||||
|
showCheck: true,
|
||||||
|
showIndex: true,
|
||||||
|
onRowDoubleClick: onRowDoubleClick,
|
||||||
|
dataSource: DATA_SOURCE,
|
||||||
|
pkname: presetVar.pkname,
|
||||||
|
handlePageInfoChange: handlePageInfoChange,
|
||||||
|
selectedChange: onSelected,
|
||||||
|
componentInitFinished,
|
||||||
|
})}
|
||||||
|
{/*联查开票申请*/}
|
||||||
|
{this.state.show && <LinkBill
|
||||||
|
show={this.state.show}
|
||||||
|
linkBill={this.linkBill}
|
||||||
|
closeModalEve={() => {
|
||||||
|
this.setState({ show: false })
|
||||||
|
}}
|
||||||
|
></LinkBill>}
|
||||||
|
{/* 联查发票组件 */}
|
||||||
|
{this.invoiceComponent.createComponent()}
|
||||||
|
{/* 联查单据组件 */}
|
||||||
|
{this.state.linkBusiBillModalShow &&
|
||||||
|
<LinkBillModal
|
||||||
|
{...this.props}
|
||||||
|
modalTitle={multiLang && multiLang.get('1058-SP-0043')} // 联查单据
|
||||||
|
LinkBillModalPageCode="105802KP_LinkBill"
|
||||||
|
tableAreaId="bills"
|
||||||
|
tableRenderField="billno"
|
||||||
|
queryUrl="/nccloud/sscivm/ivsale/LinkBillAction.do"
|
||||||
|
queryParams={this.state.LinkBusiBillQueryParams}
|
||||||
|
onRowDoubleClick={(record, index) => {
|
||||||
|
requestApi.openbill({
|
||||||
|
data: {
|
||||||
|
openbillid: record.pk_bill.value,
|
||||||
|
tradetype: record.pk_tradetype.value
|
||||||
|
},
|
||||||
|
success: (data) => {
|
||||||
|
this.props.openTo(data.url, data.data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}}
|
||||||
|
closeModalEve={() => {
|
||||||
|
this.setState({ linkBusiBillModalShow: false });
|
||||||
|
}}
|
||||||
|
/>}
|
||||||
|
{this.props.modal.createModal('redinfomodal', {
|
||||||
|
userControl:true,
|
||||||
|
title: multiLang && multiLang.get('1058-invoice-0024')|| '红字信息申请表补录',
|
||||||
|
content: (
|
||||||
|
<div className="area-content">
|
||||||
|
{this.props.editTable.createEditTable('redinfo', {
|
||||||
|
showIndex: true,
|
||||||
|
adaptionHeight: false
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
size: 'xlg',
|
||||||
|
cancelBtnClick: ()=>{
|
||||||
|
this.props.modal.close('redinfomodal');
|
||||||
|
},
|
||||||
|
beSureBtnClick: () => {
|
||||||
|
let tableData = this.props.editTable.getAllData('redinfo').rows;
|
||||||
|
let checkRequired = this.props.editTable.checkRequired('redinfo', tableData);
|
||||||
|
let rows = this.props.editTable.getAllRows('redinfo');
|
||||||
|
if (!checkRequired) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let toastMsgs=[];
|
||||||
|
// "refer-XX-0003": "序号{n}:发票号码为\"{a}\"且发票类型为\"{b}\"的\"{c}\"不能为空;"
|
||||||
|
// "refer-XX-0004": "红字信息单编号","refer-XX-0005": "红冲原因"
|
||||||
|
let mulTisp=multiLang && multiLang.get('refer-XX-0003');
|
||||||
|
rows.forEach((element,index) => {
|
||||||
|
let itemMulTisp=mulTisp;
|
||||||
|
if(['2','4','11','99'].some(ele=>{
|
||||||
|
return ele===element.values.invoice_type.value
|
||||||
|
})&&element.values.redinfo.value===''){
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{n}',index+1);
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{a}',get(element,"values.fphm.value",''));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{b}',get(element,"values.invoice_type.display",""));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{c}',multiLang && multiLang.get('refer-XX-0004')||'红字信息单编号');
|
||||||
|
}else if(['1','3','8','10','12','31','32','116','216','316','416'].some(ele=>{
|
||||||
|
// 116增值税电子普通发票(矿产类)、216增值税电子专用发票(矿产类)、316增值税普通发票(矿产类)、416增值税专用发票(矿产类)
|
||||||
|
// 31,32全电发票
|
||||||
|
return ele===element.values.invoice_type.value
|
||||||
|
})&&!element.values.hcyy.value){
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{n}',index+1);
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{a}',get(element,"values.fphm.value",""));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{b}',get(element,"values.invoice_type.display",""));
|
||||||
|
itemMulTisp=replace(itemMulTisp,'{c}',multiLang && multiLang.get('refer-XX-0005')||'红冲原因');
|
||||||
|
}else{
|
||||||
|
itemMulTisp='';
|
||||||
|
}
|
||||||
|
if(itemMulTisp!==''){
|
||||||
|
toastMsgs.push(itemMulTisp)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// 提示信息
|
||||||
|
// "1058-SQ-0006": "展开",
|
||||||
|
// "1058-SQ-0007": "收起",
|
||||||
|
// "1058-SQ-0008": "关闭",
|
||||||
|
// "refer-XX-0001": "明细",
|
||||||
|
// "refer-XX-0002": "部分数据不合规,请修改。",
|
||||||
|
if(toastMsgs.length){
|
||||||
|
return toast({
|
||||||
|
color: "danger",
|
||||||
|
groupOperation: true,
|
||||||
|
TextArr: [
|
||||||
|
multiLang && multiLang.get('1058-SQ-0006'),
|
||||||
|
multiLang && multiLang.get('1058-SQ-0007'),
|
||||||
|
multiLang && multiLang.get('1058-SQ-0008'),
|
||||||
|
],
|
||||||
|
content: multiLang && multiLang.get('refer-XX-0002'),
|
||||||
|
groupOperationMsg: toastMsgs,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
let newdatas = rows.map((one) => {
|
||||||
|
return {
|
||||||
|
pk: one.values.pk.value,
|
||||||
|
ts: one.values.ts.value,
|
||||||
|
redinfo: one.values.redinfo && one.values.redinfo.value||'',
|
||||||
|
hcyy: one.values.hcyy && one.values.hcyy.value||'',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
RedRush.call(this, [...newdatas, ...this.noRedInfo], true);
|
||||||
|
this.props.modal.close('redinfomodal');
|
||||||
|
}
|
||||||
|
})}
|
||||||
|
{this.props.modal.createModal('LnvoiceDownloadTypeModal', {
|
||||||
|
title: '发票类型',
|
||||||
|
content: (
|
||||||
|
<div className="area-content">
|
||||||
|
<div className="nc-bill-form-area">
|
||||||
|
{createForm('LnvoiceDownloadType', {
|
||||||
|
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
),
|
||||||
|
size: '100',
|
||||||
|
beSureBtnClick: () => {
|
||||||
|
let formData = this.props.table.getCheckedRows(presetVar.tableAreaId);
|
||||||
|
let formMap = this.props.form.getAllFormValue('LnvoiceDownloadType');
|
||||||
|
let {pdf_type, xml_type, ofd_type} = formMap.rows[0].values
|
||||||
|
let invoiceType = pdf_type.value ? '1' : xml_type.value ? '2' : ofd_type.value ? '3' : '';
|
||||||
|
if (!invoiceType) {
|
||||||
|
return toast({
|
||||||
|
color: 'danger',
|
||||||
|
content: '请选择下载的文件类型'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
for(let i=0;i<formData.length;i++){
|
||||||
|
let pk = formData[i].data.values.pk_invoice; //当前发票pk
|
||||||
|
let arrInvoiceTypes = [];
|
||||||
|
if (pdf_type.value) {
|
||||||
|
arrInvoiceTypes.push('1');
|
||||||
|
invoiceType = '1';
|
||||||
|
let params = {pk, invoiceType};
|
||||||
|
formDownload({
|
||||||
|
params,
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
enctype: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (xml_type.value) {
|
||||||
|
arrInvoiceTypes.push('2');
|
||||||
|
invoiceType = '2';
|
||||||
|
let params = {pk, invoiceType};
|
||||||
|
formDownload({
|
||||||
|
params,
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
enctype: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (ofd_type.value) {
|
||||||
|
arrInvoiceTypes.push('3');
|
||||||
|
invoiceType = '3';
|
||||||
|
let params = {pk, invoiceType};
|
||||||
|
formDownload({
|
||||||
|
params,
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceDownloadAction.do',
|
||||||
|
// url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
enctype: 1
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.props.modal.close('LnvoiceDownloadTypeModal')
|
||||||
|
},
|
||||||
|
cancelBtnClick: () => {
|
||||||
|
this.props.modal.close('LnvoiceDownloadTypeModal')
|
||||||
|
},
|
||||||
|
userControl: true
|
||||||
|
})}
|
||||||
|
|
||||||
|
</BillListStyle.BodyArea>
|
||||||
|
</BillListStyle>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let InvoiceSaleDom = createPage({ mutiLangCode: presetVar.mutiLangCode })(InvoiceSale);
|
||||||
|
export default InvoiceSaleDom;
|
||||||
|
|
||||||
|
/*XqV/awHDdJTpxRspYcyLqVDeDCgh8D0u/n5Pb+9JsHE=*/
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
/*VYZh/ieLfoiunqL5CmpQqFo7O+k8nzrIZsNJltzpfDE=*/
|
||||||
|
import presetVarParent from '../../../public/common/presetVar'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
...presetVarParent,
|
||||||
|
pagecode: '105802KP_list',
|
||||||
|
cardPagecode: '105802KP_card',
|
||||||
|
searchAreaId: 'xxfp_search',
|
||||||
|
mutiLangCode: '1058',
|
||||||
|
moduleId: '1058',
|
||||||
|
tableAreaId: 'invoices',
|
||||||
|
pkname: 'pk_invoice',
|
||||||
|
billtypecode: 'billtypecode',
|
||||||
|
headBtnAreaId: 'header',
|
||||||
|
tableBtnAreaId: 'body',
|
||||||
|
queryOid: '1001ZG1000000000FR5M',
|
||||||
|
linkBusiBillModal: 'linkBusiBillModal',
|
||||||
|
tableBtns: {
|
||||||
|
/**
|
||||||
|
* 红冲
|
||||||
|
*/
|
||||||
|
body_RedRush: 'body_RedRush',
|
||||||
|
/**
|
||||||
|
* 作废
|
||||||
|
*/
|
||||||
|
body_Invalid: 'body_Invalid',
|
||||||
|
},
|
||||||
|
headBtns: {
|
||||||
|
RedRush: 'RedRush',
|
||||||
|
Invalid: 'Invalid',
|
||||||
|
Download: 'Download',
|
||||||
|
LinkBill: 'LinkBill',
|
||||||
|
linkinvoice: 'LinkInvoice',
|
||||||
|
/**
|
||||||
|
* 联查单据
|
||||||
|
*/
|
||||||
|
LinkBusiBill: 'LinkBusiBill'
|
||||||
|
},
|
||||||
|
LinkInvoiceBillType:'SSIV',//联查发票billType
|
||||||
|
}
|
||||||
|
/*VYZh/ieLfoiunqL5CmpQqFo7O+k8nzrIZsNJltzpfDE=*/
|
||||||
|
|
@ -0,0 +1,62 @@
|
||||||
|
/*Mq+ry/aXt/6nN0mNqW5qEOCuGEUiGEcOgTSebzVVuDg=*/
|
||||||
|
import { ajax } from 'nc-lightapp-front';
|
||||||
|
let requestApi = {
|
||||||
|
//初始化table数据
|
||||||
|
queryData: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/IVSaleListQryAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: response => opt.success(response.data),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//翻页
|
||||||
|
changePage: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/IVSaleListQryAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: response => opt.success(response.data),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//红冲
|
||||||
|
RedRush: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/SaleInvoiceRedRushAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: response => opt.success(response.data),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//作废
|
||||||
|
Invalid: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/SaleInvoiceInvalidAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: response => opt.success(response.data),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//获取用户默认组织
|
||||||
|
GetDefOrg: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/IVSaleListGetDefOrgAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: response => opt.success(response.data),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//下载
|
||||||
|
download: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/InvoiceIsDownloadAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: response => opt.success(response.data),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//联查单据
|
||||||
|
openbill: (opt) => {
|
||||||
|
ajax({
|
||||||
|
url: '/nccloud/sscivm/ivsale/AppInfoQueryAction.do',
|
||||||
|
data: opt.data,
|
||||||
|
success: response => opt.success(response.data),
|
||||||
|
})
|
||||||
|
},
|
||||||
|
}
|
||||||
|
export default requestApi;
|
||||||
|
/*Mq+ry/aXt/6nN0mNqW5qEOCuGEUiGEcOgTSebzVVuDg=*/
|
||||||
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
"dependModuleName": [
|
||||||
|
"uap/common/components/ApproveDetail",
|
||||||
|
"uap/common/components/NCUploader",
|
||||||
|
"uap/common/components/approvalTrans"
|
||||||
|
],
|
||||||
|
"dependjs": [
|
||||||
|
"../../../../uap/common/components/ApproveDetail/index.js",
|
||||||
|
"../../../../uap/common/components/NCUploader/index.js",
|
||||||
|
"../../../../uap/common/components/approvalTrans/index.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,56 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="zh-CN">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="referrer" content="no-referrer" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
||||||
<meta http-equiv="Pragma" content="no-cache">
|
|
||||||
<meta http-equiv="Cache-Control" content="no-cache">
|
|
||||||
<meta http-equiv="Expires" content="0">
|
|
||||||
<title> Application </title>
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../../../platform/api/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/base/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/components/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/form/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/table-core/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/simple-table/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/edit-table/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/card-table/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/transfer-table/index.css" />
|
|
||||||
<link rel="stylesheet" href="../../../../platform/tree-table/index.css" />
|
|
||||||
|
|
||||||
<link rel="stylesheet" href="../../../../platform/nc-lightapp-front.css" />
|
|
||||||
<script type="text/javascript" src="../../../../platform/resource/yonyou-yyy.js"></script>
|
|
||||||
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="app"></div>
|
|
||||||
<script src="../../../../platform/resource/polyfill.js"></script>
|
|
||||||
|
|
||||||
<script src="../../../../platform/library/index.js"></script>
|
|
||||||
|
|
||||||
<script src="../../../../platform/resource/ca/ca0.js"></script>
|
|
||||||
<script src="../../../../platform/resource/ca/ca1.js"></script>
|
|
||||||
<script src="../../../../platform/resource/ca/ca2.js"></script>
|
|
||||||
<script src="../../../../platform/resource/ca/nccsign.js"></script>
|
|
||||||
<script src="../../../../platform/resource/ca/sha256.js"></script>
|
|
||||||
|
|
||||||
<script src="../../../../platform/api/index.js"></script>
|
|
||||||
<script src="../../../../platform/base/index.js"></script>
|
|
||||||
<script src="../../../../platform/template/index.js"></script>
|
|
||||||
<script src="../../../../platform/form/index.js"></script>
|
|
||||||
<script src="../../../../platform/table-core/index.js"></script>
|
|
||||||
<script src="../../../../platform/simple-table/index.js"></script>
|
|
||||||
<script src="../../../../platform/edit-table/index.js"></script>
|
|
||||||
<script src="../../../../platform/card-table/index.js"></script>
|
|
||||||
<script src="../../../../platform/transfer-table/index.js"></script>
|
|
||||||
<script src="../../../../platform/tree-table/index.js"></script>
|
|
||||||
<script src="../../../../platform/components/index.js"></script>
|
|
||||||
<script src="../../../../platform/nc-lightapp-front.js"></script>
|
|
||||||
|
|
||||||
<script src="../../../../uap/common/components/ApproveDetail/index.js"></script><script src="../../../../uap/common/components/NCUploader/index.js"></script><script src="../../../../uap/common/components/approvalTrans/index.js"></script>
|
|
||||||
<script type="text/javascript" src="../../../../sscivm/invoiceSale/invoiceSale/main/index.a3987c13.js"></script></body>
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*uDNyZvexWm/EyN3fR2QvYRqVqZ29ili3JGeYyoMJWUY=*/
|
||||||
|
import {RenderRouter} from 'nc-lightapp-front';
|
||||||
|
import routes from './router.js';
|
||||||
|
|
||||||
|
(function main(routers, htmlTagid){
|
||||||
|
RenderRouter(routers,htmlTagid);
|
||||||
|
})(routes, "app");
|
||||||
|
|
||||||
|
/*uDNyZvexWm/EyN3fR2QvYRqVqZ29ili3JGeYyoMJWUY=*/
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
/*jhdF+/YAK2aUdakCnmQMxoyVWJ3OC/NvOHmNxSS4jDc=*/
|
||||||
|
import { asyncComponent } from 'nc-lightapp-front';
|
||||||
|
import InvoiceSaleList from '../list/invoiceSaleList.js';
|
||||||
|
|
||||||
|
const Card = asyncComponent(() => import(/* webpackChunkName: "nccloud/sscivm/invoiceReceive/invoiceReceive/card" */ /* webpackMode: "eager" */ '../card/invoiceSaleCard.js'));
|
||||||
|
|
||||||
|
const routes = [
|
||||||
|
{
|
||||||
|
path: '/',
|
||||||
|
component: InvoiceSaleList,
|
||||||
|
exact: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/list',
|
||||||
|
component: InvoiceSaleList
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/card',
|
||||||
|
component: Card
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export default routes;
|
||||||
|
|
||||||
|
/*jhdF+/YAK2aUdakCnmQMxoyVWJ3OC/NvOHmNxSS4jDc=*/
|
||||||
Loading…
Reference in New Issue