1328 lines
40 KiB
JavaScript
1328 lines
40 KiB
JavaScript
/*pbHnlLNCpsWdx+f6QNDErXUJ9hVUkCPC2/wKKBoJVMo=*/
|
||
import React, {Component} from 'react';
|
||
import {createPage, high, base, ajax, deepClone, toast, getMultiLang, createPageIcon} from 'nc-lightapp-front';
|
||
|
||
const {
|
||
NCFormControl: FormControl,
|
||
NCDatePicker: DatePicker,
|
||
NCButton: Button,
|
||
NCRadio: Radio,
|
||
NCBreadcrumb: Breadcrumb,
|
||
NCRow: Row,
|
||
NCCol: Col,
|
||
NCTree: Tree,
|
||
NCMessage: Message,
|
||
NCIcon: Icon,
|
||
NCLoading: Loading,
|
||
NCTable: Table,
|
||
NCSelect: Select,
|
||
NCCheckbox: Checkbox,
|
||
NCNumber,
|
||
AutoComplete,
|
||
NCDropdown: Dropdown,
|
||
NCPanel: Panel,
|
||
NCForm,
|
||
NCButtonGroup: ButtonGroup,
|
||
NCAffix,
|
||
NCDiv
|
||
} = base;
|
||
const {NCFormItem: FormItem} = NCForm;
|
||
import {
|
||
CheckboxItem,
|
||
RadioItem,
|
||
TextAreaItem,
|
||
ReferItem,
|
||
SelectItem,
|
||
InputItem,
|
||
DateTimePickerItem
|
||
} from '../../../public/components/FormItems';
|
||
import createScript from '../../../public/components/uapRefer.js';
|
||
import ReportModal from './reportModal/reportModal';
|
||
import getDefaultAccountBook from '../../../public/components/getDefaultAccountBook.js';
|
||
import {rebuildBalanceItem, rebuildBalanceComfirm} from './rebuildBalancemodal/index';
|
||
import {buttonClick, initTemplate} from './events';
|
||
import PrintModal from '../../../public/components/printModal';
|
||
|
||
const {PrintOutput} = high;
|
||
import {printRequire, mouldOutput} from '../../../public/components/printModal/events';
|
||
import HeaderArea from '../../../public/components/HeaderArea';
|
||
import {getTableHeight} from '../../../public/common/method.js';
|
||
import {changeToSimpletableDatas} from '../../../public/common/changeToSimpletableDatas.js';
|
||
import './index.less';
|
||
import '../../../public/reachercss/reacher.less';
|
||
import UploadTax from './uploadTax'
|
||
import {cancelBtnClick} from '../../../busirecon/pages/list/events/buttonClick';
|
||
import ReconciReport from './reconciReportModal/index';
|
||
|
||
const config = {
|
||
"isDataPowerEnable": 'Y',
|
||
"DataPowerOperationCode": 'fi'
|
||
};
|
||
|
||
class Reckon extends Component {
|
||
constructor(props) {
|
||
super(props);
|
||
this.tableId = 'reckoning';
|
||
this.state = {
|
||
pk_periodscheme: "",//上传税务云参数
|
||
up_pk_accountingbook: {},//上传税务云pk
|
||
pk_display: "",//上传税务云账簿名字
|
||
json: {},
|
||
period: '',//上传税务云期间
|
||
taxcloudurl: '',//上传税务云地址
|
||
isQueryShow: false,//上传税务云弹框
|
||
appcode: this.props.getUrlParam('c') || this.props.getSearchParam('c'),
|
||
ShowHideFlag: false,//查询条件对话框
|
||
pk_accasoaDisabled: false,//控制科目是否可以编辑
|
||
accountingbook: {display: '', value: ''},
|
||
reportDataSum: [],//结账汇总数据
|
||
reportData: [],//结账详情数据
|
||
listItem: {},//表头字段
|
||
rebuildBalanceItem: {},//重建余额表的查询字段
|
||
yearList: [],
|
||
periodList: [],
|
||
reportSumTitle: '',//汇总报告title
|
||
reportSumFont: {},//汇总报告字体
|
||
reportTitle: '',//报告title
|
||
reportFont: {},
|
||
refersh: false,//刷新
|
||
columnsVerify: [],
|
||
reckonintData: [],
|
||
verBalanceVOData: {},
|
||
queryDataObj: {},//保存查询条件
|
||
resourceData_sum: [],//查询出来的历史数据
|
||
resourceColumns_sum: [],//查询出来的历史数据列字段
|
||
selectedData: {},//选中的数据
|
||
}
|
||
}
|
||
|
||
beSureBtnClick = () => {
|
||
this.UploadTax.confirm();
|
||
}
|
||
cancelBtnClick = () => {
|
||
this.UploadTax.close();
|
||
}
|
||
handleCloseTax = () => {
|
||
this.setState({
|
||
isQueryShow: false
|
||
});
|
||
this.props.modal.close('UploadTaxModal');
|
||
}
|
||
|
||
//根据账簿请求会计年 月
|
||
getYearList = (pk_accountingbook) => {
|
||
let self = this;
|
||
let {rebuildBalanceItem, yearList} = self.state;
|
||
let url = '/nccloud/gl/voucher/yearcombo.do';
|
||
let data = {
|
||
"pk_accountingbook": pk_accountingbook
|
||
};
|
||
ajax({
|
||
url,
|
||
data,
|
||
success: function (res) {
|
||
|
||
const {data, error, success} = res;
|
||
if (success) {
|
||
self.setState({
|
||
yearList: data,
|
||
})
|
||
|
||
} else {
|
||
toast({content: error.message, color: 'warning'});
|
||
}
|
||
},
|
||
error: function (res) {
|
||
toast({content: res.message, color: 'warning'});
|
||
|
||
}
|
||
});
|
||
}
|
||
//根据账簿请求会计年 月
|
||
getPeriodList = (pk_accountingbook, year) => {
|
||
let self = this;
|
||
let url = '/nccloud/gl/voucher/periodcombo.do';
|
||
let data = {
|
||
"pk_accountingbook": pk_accountingbook,
|
||
"year": year,
|
||
};
|
||
|
||
ajax({
|
||
url,
|
||
data,
|
||
success: function (res) {
|
||
|
||
const {data, error, success} = res;
|
||
if (success) {
|
||
self.setState({
|
||
periodList: data,
|
||
})
|
||
|
||
} else {
|
||
toast({content: error.message, color: 'warning'});
|
||
}
|
||
},
|
||
error: function (res) {
|
||
toast({content: res.message, color: 'warning'});
|
||
|
||
}
|
||
});
|
||
}
|
||
|
||
//处理width
|
||
changeWidth(arr) {
|
||
arr.map((item, index) => {
|
||
if (item.children) {
|
||
this.changeWidth(item.children);
|
||
} else {
|
||
item['width'] = 150;
|
||
}
|
||
})
|
||
return arr;
|
||
}
|
||
|
||
getHeadData = () => {
|
||
let self = this;
|
||
let {listItem, reckonintData} = self.state;
|
||
let appcode = self.props.getSearchParam("c");
|
||
const headData = [
|
||
{
|
||
itemName: this.state.json['20020RECON-000000'],
|
||
itemType: 'refer',
|
||
itemKey: 'pk_accountingbook',/* 国际化处理: 核算账簿*/
|
||
config: {refCode: "uapbd/refer/org/AccountBookTreeRef"},
|
||
queryGridUrl: '/nccloud/gl/voucher/ref.do',
|
||
refType: 'grid'
|
||
},
|
||
{
|
||
itemName: this.state.json['20020RECON-000002'],/* 国际化处理: 会计科目*/
|
||
itemType: 'refer',
|
||
itemKey: 'pk_accasoa',
|
||
config: {refCode: "uapbd/refer/fiacc/AccountDefaultGridTreeRef"},
|
||
queryGridUrl: '/nccloud/gl/voucher/ref.do', //todo
|
||
refType: 'grid' //todo
|
||
},
|
||
{itemName: this.state.json['20020RECON-000001'], itemType: 'textInput', itemKey: 'reckedMonth'},/* 国际化处理: 待结账月份:*/
|
||
// {
|
||
// itemName: this.state.json['20020RECON-000003'], itemType: 'Dbselect', itemKey: ['year', 'period'],/* 国际化处理: 会计期间*/
|
||
// itemChild: []
|
||
// },
|
||
|
||
]
|
||
return listItem.reckedMonth ? (
|
||
headData.map((item, i) => {
|
||
let defValue = listItem[item.itemKey].value;
|
||
switch (item.itemType) {
|
||
case 'refer':
|
||
let referUrl = item.config.refCode + '/index.js';
|
||
let defaultValue = {refname: listItem[item.itemKey].display, refpk: listItem[item.itemKey].value};
|
||
if (!self.state[item.itemKey]) {
|
||
{
|
||
createScript.call(self, referUrl, item.itemKey)
|
||
}
|
||
return <div/>
|
||
} else {
|
||
if (item.itemKey == 'pk_accountingbook') {
|
||
return (
|
||
<FormItem
|
||
inline={true}
|
||
showMast={true}
|
||
labelXs={2} labelSm={2} labelMd={2}
|
||
xs={2} md={2} sm={2}
|
||
labelName=''
|
||
isRequire={true}
|
||
method="change"
|
||
className="changesm"
|
||
>
|
||
{self.state[item.itemKey] ? (self.state[item.itemKey])(
|
||
{
|
||
fieldid: item.itemKey,
|
||
value: defaultValue,
|
||
isMultiSelectedEnabled: false,
|
||
disabledDataShow: true,
|
||
queryCondition: () => {
|
||
return Object.assign({
|
||
"TreeRefActionExt": 'nccloud.web.gl.ref.AccountBookRefSqlBuilder',
|
||
"appcode": appcode
|
||
}, config)
|
||
},
|
||
onChange: (v) => {
|
||
console.log(v)
|
||
let {accountingbook} = self.state;
|
||
|
||
if (item.itemKey == 'pk_accountingbook') {
|
||
if (v.refpk) {
|
||
self.getReckoningData(v.refpk);
|
||
} else {
|
||
reckonintData = [];
|
||
self.props.table.setAllTableData(self.tableId, {rows: []});
|
||
}
|
||
|
||
accountingbook.value = v.refpk;
|
||
accountingbook.display = v.refname;
|
||
listItem[item.itemKey].value = v.refpk;
|
||
listItem[item.itemKey].display = v.refname;
|
||
this.setState({
|
||
listItem, accountingbook, reckonintData
|
||
})
|
||
}
|
||
}
|
||
}
|
||
) : <div/>}
|
||
</FormItem>);
|
||
} else if (item.itemKey == 'pk_accasoa') { //会计科目
|
||
return (
|
||
<FormItem
|
||
inline={true}
|
||
showMast={false}
|
||
labelXs={2} labelSm={2} labelMd={2}
|
||
xs={2} md={2} sm={2}
|
||
labelName=''
|
||
isRequire={true}
|
||
method="change"
|
||
className="changesm"
|
||
>
|
||
{self.state[item.itemKey] ? (self.state[item.itemKey])(
|
||
{
|
||
fieldid: item.itemKey,
|
||
value: defaultValue,
|
||
isMultiSelectedEnabled: false,
|
||
disabledDataShow: true,
|
||
queryCondition: () => {
|
||
return {
|
||
"pk_accountingbook": listItem['pk_accountingbook'].value,
|
||
// "dateStr":currrentDate.split(' ')[0]
|
||
}
|
||
},
|
||
onFocus: () => {
|
||
let {accountingbook} = self.state;
|
||
if (accountingbook.value == "" || accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000010'], color: 'warning'});/* 国际化处理: 请先选择核算账簿*/
|
||
return false;
|
||
}
|
||
},
|
||
onChange: (v) => {
|
||
let {pk_accountingbook} = self.state;
|
||
if (item.itemKey == 'pk_accasoa') {
|
||
pk_accountingbook.value = v.refpk;
|
||
pk_accountingbook.display = v.refname;
|
||
listItem[item.itemKey].value = v.refpk;
|
||
listItem[item.itemKey].display = v.refname;
|
||
this.setState({
|
||
listItem, pk_accountingbook
|
||
})
|
||
}
|
||
}
|
||
}
|
||
) : <div/>}
|
||
</FormItem>);
|
||
}
|
||
}
|
||
break;
|
||
case 'select':
|
||
return (
|
||
<FormItem
|
||
inline={true}
|
||
// showMast={false}
|
||
labelXs={2} labelSm={2} labelMd={2}
|
||
xs={2} md={2} sm={2}
|
||
labelName={item.itemName}
|
||
isRequire={true}
|
||
method="change"
|
||
className="changemd"
|
||
>
|
||
<SelectItem
|
||
name={item.itemKey}
|
||
fieldid={item.itemKey}
|
||
defaultValue={item.itemChild[0].value ? item.itemChild[0].value : ''}
|
||
items={
|
||
() => {
|
||
return (item.itemChild)
|
||
}
|
||
}
|
||
onChange={(v) => {
|
||
listItem[item.itemKey].value = v
|
||
this.setState({
|
||
listItem
|
||
})
|
||
}}
|
||
/>
|
||
</FormItem>
|
||
)
|
||
case 'textInput':
|
||
return (
|
||
<FormItem
|
||
inline={true}
|
||
// showMast={true}
|
||
labelXs={2} labelSm={2} labelMd={2}
|
||
xs={2} md={2} sm={2}
|
||
labelName={item.itemName}
|
||
isRequire={true}
|
||
method="change"
|
||
className="changesm"
|
||
>
|
||
{/* <FormControl
|
||
value={defValue}
|
||
/> */}
|
||
{/* <InputItem
|
||
//isViewMode
|
||
// disabled={true}
|
||
name={item.itemKey}
|
||
type="customer"
|
||
defaultValue={defValue}
|
||
className="changesmmd"
|
||
/> */}
|
||
{listItem['pk_accountingbook'].value ?
|
||
<span className="changesmmd"
|
||
style={{verticalAlign: 'middle'}}>{defValue.split("/")[0]}{this.state.json['20020RECON-000031']}{defValue.split("/")[1]}{this.state.json['20020RECON-000032']}</span>
|
||
:
|
||
<span className="changesmmd" style={{verticalAlign: 'middle'}}></span>
|
||
}
|
||
</FormItem>
|
||
)
|
||
case 'Dbselect':
|
||
return (
|
||
<FormItem
|
||
inline={true}
|
||
// showMast={false}
|
||
labelXs={2} labelSm={2} labelMd={2}
|
||
xs={2} md={2} sm={2}
|
||
labelName={item.itemName}
|
||
isRequire={true}
|
||
method="change"
|
||
inputAfter={
|
||
<Col xs={12} md={12} sm={12}>
|
||
<Select
|
||
fieldid="period"
|
||
size="lg"
|
||
value={listItem['period'].value}
|
||
style={{width: 150}}
|
||
onChange={
|
||
(v) => {
|
||
listItem.period = {value: v}
|
||
self.setState({
|
||
listItem
|
||
})
|
||
}
|
||
}
|
||
>
|
||
{self.state.periodList.map((item, index) => {
|
||
return <Option value={item} key={item}>{item}</Option>
|
||
})}
|
||
|
||
</Select>
|
||
</Col>
|
||
}
|
||
>
|
||
<Select
|
||
fieldid="year"
|
||
size="lg"
|
||
value={listItem['year'].value}
|
||
style={{width: 150}}
|
||
onChange={
|
||
(v) => {
|
||
if (v) {
|
||
if (listItem['pk_accountingbook'].length > 0) {
|
||
self.getPeriodList(listItem['pk_accountingbook'][0].value, v);
|
||
}
|
||
listItem.year = {value: v};
|
||
self.setState({
|
||
listItem
|
||
})
|
||
}
|
||
}
|
||
}
|
||
>
|
||
{self.state.yearList.map((item, index) => {
|
||
return <Option value={item} key={item}>{item}</Option>
|
||
})}
|
||
|
||
</Select>
|
||
</FormItem>
|
||
)
|
||
default:
|
||
break;
|
||
}
|
||
})
|
||
|
||
)
|
||
: (<div/>)
|
||
}
|
||
//结账检查报告
|
||
handleEndAccountReport = () => {
|
||
let self = this;
|
||
let {
|
||
reportDataSum,
|
||
reportSumTitle,
|
||
reportSumFont,
|
||
reportData,
|
||
accountingbook,
|
||
reportTitle,
|
||
reportFont
|
||
} = self.state;
|
||
if (accountingbook.value == "" || accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000010'], color: 'warning'});/* 国际化处理: 请先选择核算账簿*/
|
||
return false;
|
||
}
|
||
let url = '/nccloud/gl/reckoning/reckoningreport.do';
|
||
let pk_accpont = {"pk_accountingbook": accountingbook.value};
|
||
ajax({
|
||
url: url,
|
||
data: pk_accpont,
|
||
success: function (response) {
|
||
const {data, success} = response;
|
||
//渲染已有账表数据遮罩
|
||
if (success) {
|
||
if (response.data) {
|
||
reportDataSum = data.reportSumMesg;
|
||
reportSumTitle = data.sumDisMesg;
|
||
reportSumFont = data.sumFont;
|
||
reportData = data.reportMesg;
|
||
reportTitle = data.disMesg;
|
||
reportFont = data.font;
|
||
self.setState({
|
||
reportDataSum, reportSumTitle, reportSumFont, reportData, reportTitle, reportFont,
|
||
ShowHideFlag: true,
|
||
}, () => {
|
||
self.props.modal.show('reprotModal');
|
||
})
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
//结账
|
||
handleEndAccount = () => {
|
||
// this.refs.getSwordButton.print();
|
||
// return false;
|
||
let self = this;
|
||
let {
|
||
reckonintData,
|
||
listItem,
|
||
reportDataSum,
|
||
reportSumTitle,
|
||
reportSumFont,
|
||
reportData,
|
||
accountingbook,
|
||
reportTitle,
|
||
reportFont
|
||
} = self.state;
|
||
if (accountingbook.value == "" || accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000010'], color: 'warning'});/* 国际化处理: 请先选择核算账簿*/
|
||
return false;
|
||
}
|
||
let url = '/nccloud/gl/reckoning/reckoning.do';
|
||
let pk_accpont = {"pk_accountingbook": accountingbook.value};
|
||
ajax({
|
||
url: url,
|
||
data: pk_accpont,
|
||
success: function (response) {
|
||
const {data, success} = response;
|
||
//渲染已有账表数据遮罩
|
||
if (success) {
|
||
if (response.data) {
|
||
let isReckoningble = data.isReckoningble;
|
||
if (isReckoningble) {
|
||
toast({content: self.state.json['20020RECON-000011'], color: 'success'});/* 国际化处理: 结账成功*/
|
||
reckonintData = data.reckedYear;
|
||
self.showSimpletableData(reckonintData);
|
||
reckonintData.map((item, index) => {
|
||
item.key = index;
|
||
})
|
||
listItem['reckedMonth'].value = data.reckedMonth;
|
||
self.setState({
|
||
reckonintData, listItem
|
||
})
|
||
} else {
|
||
toast({content: self.state.json['20020RECON-000012'], color: 'warning'});/* 国际化处理: 结账失败*/
|
||
reportDataSum = data.reportSumMesg;
|
||
reportSumTitle = data.sumDisMesg;
|
||
reportSumFont = data.sumFont;
|
||
reportData = data.reportMesg;
|
||
reportTitle = data.disMesg;
|
||
reportFont = data.font;
|
||
self.setState({
|
||
reportDataSum, reportSumTitle, reportSumFont, reportData, reportTitle, reportFont,
|
||
ShowHideFlag: true,
|
||
}, () => {
|
||
self.props.modal.show('reprotModal');
|
||
})
|
||
}
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
//取消结账
|
||
handleUnendAccount = () => {
|
||
let self = this;
|
||
let {reckonintData, listItem, reportDataSum, reportData, accountingbook, reportTitle, reportFont} = self.state;
|
||
if (accountingbook.value == "" || accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000010'], color: 'warning'});/* 国际化处理: 请先选择核算账簿*/
|
||
return false;
|
||
}
|
||
let url = '/nccloud/gl/reckoning/unreckoning.do';
|
||
let pk_accpont = {"pk_accountingbook": accountingbook.value};
|
||
ajax({
|
||
url: url,
|
||
data: pk_accpont,
|
||
success: function (response) {
|
||
const {data, success} = response;
|
||
//渲染已有账表数据遮罩
|
||
if (success) {
|
||
if (response.data) {
|
||
let isReckoningble = data.isReckoningble;
|
||
toast({content: self.state.json['20020RECON-000013'], color: 'success'});/* 国际化处理: 反结账成功*/
|
||
reckonintData = data.reckedYear;
|
||
self.showSimpletableData(reckonintData);
|
||
reckonintData.map((item, index) => {
|
||
item.key = index;
|
||
})
|
||
listItem['reckedMonth'].value = data.reckedMonth;
|
||
self.setState({
|
||
reckonintData, listItem
|
||
})
|
||
}
|
||
}
|
||
},
|
||
error: function (res) {
|
||
toast({content: res.message, color: 'danger'});
|
||
}
|
||
});
|
||
}
|
||
//重建余额表
|
||
handleRebuildbalance = () => {
|
||
this.props.modal.show('rebuildbalance');
|
||
}
|
||
//上传税务云
|
||
handleUploud = () => {
|
||
let self = this;
|
||
let {listItem, up_pk_accountingbook, taxcloudurl, period, pk_periodscheme, pk_display} = this.state;
|
||
up_pk_accountingbook = {'pk_accountingbook': listItem.pk_accountingbook.value}
|
||
pk_display = listItem.pk_accountingbook.display
|
||
let url = '/nccloud/gl/pfxx/taxcloudconfig.do';
|
||
ajax({
|
||
url,
|
||
data: up_pk_accountingbook,
|
||
success: function (res) {
|
||
taxcloudurl = res.data.url
|
||
period = res.data.period
|
||
pk_periodscheme = res.data.pk_periodscheme
|
||
self.setState({
|
||
up_pk_accountingbook,
|
||
taxcloudurl,
|
||
pk_periodscheme,
|
||
period,
|
||
pk_display,
|
||
isQueryShow: true
|
||
}, () => {
|
||
self.props.modal.show('UploadTaxModal');
|
||
})
|
||
},
|
||
error: function (res) {
|
||
toast({content: res.message, color: 'warning'});
|
||
}
|
||
});
|
||
|
||
}
|
||
//对账todo
|
||
handleReconciliate = () => {
|
||
let self = this;
|
||
let {
|
||
reportData,
|
||
accountingbook,
|
||
pk_accountingbook,
|
||
periodData
|
||
} = self.state;
|
||
if (accountingbook.value == "" || accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000010'], color: 'warning'});/* 国际化处理: 请先选择核算账簿*/
|
||
return false;
|
||
}
|
||
if (pk_accountingbook.value == "" || pk_accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000038'], color: 'warning'});/* 国际化处理: 请先选择会计科目*/
|
||
return false;
|
||
}
|
||
let url = '/nccloud/gl/accountrep/accountbalancetotal.do';
|
||
// let pk_accpont = {"pk_accountingbook":accountingbook.value};
|
||
let enddate = this.getMonthDays(periodData.presentYear, periodData.presentMonth)
|
||
let pk_accpont = {
|
||
"pk_accountingbook": [accountingbook.value],
|
||
"pk_accasoa": [pk_accountingbook.value],
|
||
// "pk_accountingbook":["1001A110000000001PFH"],
|
||
// "pk_accasoa": ["1001A1100000000017L8"],
|
||
"startyear": periodData.presentYear,
|
||
"endyear": periodData.presentYear,
|
||
"startperiod": periodData.presentMonth,
|
||
"endperiod": periodData.presentMonth,
|
||
"startdate": periodData.presentYear + '-' + periodData.presentMonth + "-01",
|
||
"enddate": periodData.presentYear + '-' + periodData.presentMonth + '-' + enddate
|
||
}
|
||
ajax({
|
||
url: url,
|
||
data: pk_accpont,
|
||
success: function (response) {
|
||
const {data, success} = response;
|
||
//渲染已有账表数据遮罩
|
||
if (success) {
|
||
if (response.data) {
|
||
data.forEach((item, i) => {
|
||
if (i != 0) {
|
||
if (data[i - 1].pacccode == item.pacccode) {
|
||
item.paccname = ''
|
||
}
|
||
if (data[i - 1].acccode == item.acccode) {
|
||
item.accname = ''
|
||
}
|
||
}
|
||
})
|
||
reportData = data
|
||
reportData.unshift({
|
||
pacccode: "会计科目编码", //总账余额表-会计科目编码
|
||
paccname: "会计科目", //总账余额表-会计科目名称
|
||
pendlocamount: "期末余额", //总账余额表-期末余额
|
||
//===============
|
||
acccode: "会计科目编码", //总账辅助余额表-会计科目编码
|
||
accname: "会计科目", //总账辅助余额表-会计科目名称
|
||
assname: "辅助核算", //总账辅助余额表-辅助核算
|
||
endlocamount: "期末余额", //总账辅助余额表-期末余额
|
||
//===============
|
||
difference: "金额", //差异-金额
|
||
})
|
||
self.setState({reportData, ShowHideFlag: true}, () => {
|
||
self.props.modal.show('reportReconciModal');
|
||
})
|
||
}
|
||
}
|
||
}
|
||
});
|
||
}
|
||
//对账检查
|
||
handleReconciliatecheck = () => {
|
||
let self = this;
|
||
let {
|
||
reportData,
|
||
accountingbook,
|
||
pk_accountingbook,
|
||
periodData
|
||
} = self.state;
|
||
if (accountingbook.value == "" || accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000010'], color: 'warning'});/* 国际化处理: 请先选择核算账簿*/
|
||
return false;
|
||
}
|
||
if (pk_accountingbook.value == "" || pk_accountingbook.value == undefined) {
|
||
toast({content: self.state.json['20020RECON-000038'], color: 'warning'});/* 国际化处理: 请先选择会计科目*/
|
||
return false;
|
||
}
|
||
let url = '/nccloud/gl/accountrep/accountbalancetotal.do';
|
||
// let pk_accpont = {"pk_accountingbook":accountingbook.value};
|
||
let enddate = this.getMonthDays(periodData.presentYear, periodData.presentMonth)
|
||
let pk_accpont = {
|
||
"pk_accountingbook": [accountingbook.value],
|
||
"pk_accasoa": [pk_accountingbook.value],
|
||
// "pk_accountingbook":["1001A110000000001PFH"],
|
||
// "pk_accasoa": ["1001A1100000000017L8"],
|
||
"startyear": periodData.presentYear,
|
||
"endyear": periodData.presentYear,
|
||
"startperiod": periodData.presentMonth,
|
||
"endperiod": periodData.presentMonth,
|
||
"startdate": periodData.presentYear + '-' + periodData.presentMonth + "-01",
|
||
"enddate": periodData.presentYear + '-' + periodData.presentMonth + '-' + enddate
|
||
}
|
||
|
||
ajax({
|
||
url: url,
|
||
data: pk_accpont,
|
||
success: function (response) {
|
||
const { data, success } = response;
|
||
|
||
if (success && response.data) {
|
||
|
||
if (data.length === 0) {
|
||
} else {
|
||
// 查询到数据,提示需要先进行对账操作
|
||
toast({ content: data[0].accname +'科目存在差异金额为'+data[0].difference+',请调整总账凭证,再进行结账操作', color: 'warning' });
|
||
|
||
}
|
||
} else {
|
||
}
|
||
},
|
||
error: function () {
|
||
}
|
||
});
|
||
|
||
}
|
||
|
||
//打印
|
||
handlePrintReport() {
|
||
this.setState({
|
||
showPrintModal: true
|
||
})
|
||
}
|
||
|
||
handlePrint(data) {
|
||
let printUrl = '/nccloud/gl/accountrep/reckoningreportprint.do'
|
||
let {queryDataObj, appcode, sumOrDetail, listItem} = this.state
|
||
let {ctemplate, nodekey} = data
|
||
queryDataObj.queryvo = data
|
||
queryDataObj.pk_accountingbook = listItem['pk_accountingbook'].value;
|
||
queryDataObj.year = listItem['reckedMonth'].value.split('/')[0];
|
||
queryDataObj.month = listItem['reckedMonth'].value.split('/')[1];
|
||
queryDataObj.issum = 'Y';
|
||
this.setState({
|
||
ctemplate: ctemplate,
|
||
nodekey: nodekey
|
||
})
|
||
printRequire(printUrl, appcode, nodekey, ctemplate, queryDataObj)
|
||
this.setState({
|
||
showPrintModal: false
|
||
});
|
||
}
|
||
|
||
//模板输出
|
||
showOutputModal() {
|
||
let outputUrl = '/nccloud/gl/accountrep/reckoningreportoutput.do'
|
||
let {appcode, nodekey, ctemplate, queryDataObj, listItem} = this.state;
|
||
queryDataObj.pk_accountingbook = listItem['pk_accountingbook'].value;
|
||
queryDataObj.year = listItem['reckedMonth'].value.split('/')[0];
|
||
queryDataObj.month = listItem['reckedMonth'].value.split('/')[1];
|
||
mouldOutput(outputUrl, appcode, nodekey, ctemplate, queryDataObj)
|
||
}
|
||
|
||
handleOutput() {
|
||
}
|
||
|
||
//关闭
|
||
handleClose = () => {
|
||
this.setState({
|
||
ShowHideFlag: !this.state.ShowHideFlag,
|
||
|
||
})
|
||
}
|
||
GetRequest = (urlstr) => {
|
||
var url = decodeURIComponent(urlstr)//(window.parent.location.href); //获取url中"?"符后的字串
|
||
var theRequest = new Object();
|
||
if (url.indexOf("?") != -1) {
|
||
var str = url.substr(url.indexOf("?") + 1);
|
||
var strs = str.split("&");
|
||
for (var i = 0; i < strs.length; i++) {
|
||
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
|
||
}
|
||
}
|
||
return theRequest;
|
||
}
|
||
//字段格式转换
|
||
keyValueChange = (defaultAccouontBook, data, listItem) => {
|
||
data.forEach((item, i) => {
|
||
let key;
|
||
if (item.itemType == 'refer') {
|
||
if (item.itemKey == 'pk_accountingbook') {
|
||
key = [{
|
||
display: defaultAccouontBook.display,
|
||
value: defaultAccouontBook.value
|
||
}]
|
||
} else if (item.itemKey == 'pk_accasoa') {
|
||
key = [{
|
||
display: '',
|
||
value: ''
|
||
}]
|
||
} else {
|
||
key = {
|
||
display: '',
|
||
value: ''
|
||
}
|
||
}
|
||
} else if (item.itemType == 'select' || item.itemType == 'Dbselect' || item.itemType == 'radio') {//下拉框赋初始值
|
||
key = {
|
||
value: ''
|
||
}
|
||
} else {
|
||
key = {
|
||
value: ''
|
||
}
|
||
if (item.itemType == 'date' || item.itemType == 'Dbdate') {
|
||
key = {
|
||
value: ''
|
||
}
|
||
}
|
||
}
|
||
if (item.itemType == 'Dbdate' || item.itemType == 'DbtextInput' || item.itemType == 'Dbselect') {
|
||
item.itemKey.map((k, index) => {
|
||
let name = k;
|
||
listItem[name] = key
|
||
});
|
||
} else {
|
||
let name = item.itemKey;
|
||
listItem[name] = key
|
||
}
|
||
})
|
||
this.setState({
|
||
listItem
|
||
})
|
||
}
|
||
//切换账簿请求数据和结账月份
|
||
getReckoningData = (pk_accountingbook) => {
|
||
let self = this;
|
||
let {reckonintData, listItem} = this.state;
|
||
let url = '/nccloud/gl/reckoning/refreshperiod.do';
|
||
let pk_accpont = {"pk_accountingbook": pk_accountingbook}
|
||
//let pk_accpont = {"pk_accountingbook": "1001A3100000000008MT"}
|
||
ajax({
|
||
url: url,
|
||
data: pk_accpont,
|
||
success: function (response) {
|
||
const {data, success} = response;
|
||
//渲染已有账表数据遮罩
|
||
if (success) {
|
||
let periodData = {}
|
||
console.log(response.data)
|
||
if (response.data) {
|
||
reckonintData = data.reckedYear;
|
||
self.showSimpletableData(reckonintData);
|
||
reckonintData.map((item, index) => {
|
||
item.key = index;
|
||
})
|
||
listItem['reckedMonth'].value = data.reckedMonth;
|
||
|
||
periodData.presentYear = data.presentYear
|
||
periodData.presentMonth = data.presentMonth
|
||
}
|
||
self.setState({
|
||
reckonintData, periodData
|
||
})
|
||
}
|
||
}
|
||
});
|
||
}
|
||
//渲染simpletable数据
|
||
showSimpletableData = (reckonintData) => {
|
||
let simpleTableData = changeToSimpletableDatas(reckonintData) || [];
|
||
if (simpleTableData) {
|
||
this.props.table.setAllTableData(this.tableId, {rows: simpleTableData});
|
||
} else {
|
||
this.props.table.setAllTableData(this.tableId, {rows: []});
|
||
}
|
||
}
|
||
|
||
componentDidMount() {
|
||
let self = this;
|
||
let url = '/nccloud/gl/pfxx/taxcloudconfig.do';
|
||
ajax({
|
||
url: url,
|
||
success: function (response) {
|
||
self.props.button.setButtonDisabled(['uploadtaxcloud'], false);
|
||
},
|
||
error: function (response) {
|
||
self.props.button.setButtonDisabled(['uploadtaxcloud'], false);
|
||
|
||
}
|
||
});
|
||
}
|
||
|
||
componentWillMount() {
|
||
let {listItem, rebuildBalanceItem, accountingbook} = this.state;
|
||
let appcode = this.props.getSearchParam("c");
|
||
// let defaultAccouontBook=getDefaultAccountBook(appcode);
|
||
getDefaultAccountBook(appcode).then((defaultAccouontBook) => {
|
||
accountingbook = defaultAccouontBook;
|
||
if (defaultAccouontBook.value) {
|
||
this.getReckoningData(defaultAccouontBook.value);
|
||
this.getYearList(defaultAccouontBook.value);
|
||
}
|
||
const headData = [
|
||
{
|
||
itemName: this.state.json['20020RECON-000000'],
|
||
itemType: 'refer',
|
||
itemKey: 'pk_accountingbook',/* 国际化处理: 核算账簿*/
|
||
config: {refCode: "uapbd/refer/org/AccountBookTreeRef"},
|
||
queryGridUrl: '/nccloud/gl/voucher/ref.do',
|
||
refType: 'grid'
|
||
},
|
||
//todo
|
||
{
|
||
itemName: this.state.json['20020RECON-000002'],/* 国际化处理: 会计科目*/
|
||
itemType: "refer",
|
||
itemKey: "pk_accasoa",
|
||
config: {refCode: "uapbd/refer/fiacc/AccountDefaultGridTreeRef"},
|
||
queryGridUrl: '/nccloud/gl/voucher/ref.do',
|
||
refType: 'grid'
|
||
},
|
||
{itemName: this.state.json['20020RECON-000001'], itemType: 'textInput', itemKey: 'reckedMonth'},/* 国际化处理: 待结账月份:*/
|
||
// {
|
||
// itemName: this.state.json['20020RECON-000003'], itemType: 'Dbselect', itemKey: ['year', 'period'],/* 国际化处理: 会计期间*/
|
||
// itemChild: []
|
||
// },
|
||
]
|
||
const loadQuery = [
|
||
{
|
||
itemName: this.state.json['20020RECON-000000'],/* 国际化处理: 核算账簿*/
|
||
itemType: 'refer',
|
||
itemKey: 'pk_accountingbook',
|
||
config: {refCode: "uapbd/refer/org/AccountBookTreeRef"},
|
||
showMast: true
|
||
},
|
||
{
|
||
itemName: this.state.json['20020RECON-000002'],/* 国际化处理: 会计科目*/
|
||
itemType: "refer",
|
||
itemKey: "pk_accasoa",
|
||
config: {refCode: "uapbd/refer/fiacc/AccountDefaultGridTreeRef"},
|
||
showMast: false
|
||
},
|
||
// {
|
||
// itemName: this.state.json['20020RECON-000003'], itemType: 'Dbselect', itemKey: ['year', 'period'],/* 国际化处理: 会计期间*/
|
||
// itemChild: []
|
||
// }
|
||
// {itemName:'会计期间',itemType:'select',itemKey:'period',
|
||
// itemChild:[]
|
||
// }
|
||
]
|
||
this.keyValueChange(defaultAccouontBook, loadQuery, rebuildBalanceItem);
|
||
headData.forEach((item, i) => {
|
||
let key;
|
||
if (item.itemType == 'refer') {
|
||
if (item.itemKey == 'pk_accountingbook') {
|
||
key = {
|
||
display: defaultAccouontBook.display,
|
||
value: defaultAccouontBook.value
|
||
}
|
||
} else {
|
||
|
||
key = {
|
||
display: '',
|
||
value: ''
|
||
}
|
||
}
|
||
} else if (item.itemType == 'select' || item.itemType == 'Dbselect' || item.itemType == 'radio') {//下拉框赋初始值
|
||
key = {
|
||
value: item.itemChild[0].value
|
||
}
|
||
} else {
|
||
key = {
|
||
value: ''
|
||
}
|
||
if (item.itemType == 'date' || item.itemType == 'Dbdate') {
|
||
key = {
|
||
value: ''
|
||
}
|
||
}
|
||
}
|
||
if (item.itemType == 'Dbdate' || item.itemType == 'DbtextInput' || item.itemType == 'Dbselect') {
|
||
item.itemKey.map((k, index) => {
|
||
let name = k;
|
||
listItem[name] = key
|
||
});
|
||
} else {
|
||
let name = item.itemKey;
|
||
listItem[name] = key
|
||
}
|
||
})
|
||
this.setState({
|
||
listItem, accountingbook
|
||
})
|
||
})
|
||
let callback = (json) => {
|
||
this.Defaultcolumns = [
|
||
{
|
||
title: (<div fieldid="dispReckedMonth" className="mergecells">{json['20020RECON-000004']}</div>),/* 国际化处理: 会计期间 */
|
||
dataIndex: "dispReckedMonth",
|
||
key: "dispReckedMonth",
|
||
width: 100,
|
||
render: (text, record, index) => {
|
||
return <div fieldid="dispReckedMonth">{!text ? <span> </span> : text}</div>
|
||
}
|
||
},
|
||
{
|
||
title: (<div fieldid="dispReckedOrNot" className="mergecells">{json['20020RECON-000005']}</div>),/* 国际化处理: 是否结账*/
|
||
dataIndex: "dispReckedOrNot",
|
||
key: "dispReckedOrNot",
|
||
width: 100,
|
||
render: (text, record, index) => {
|
||
return <div fieldid="dispReckedOrNot">{!text ? <span> </span> : text}</div>
|
||
}
|
||
},
|
||
{
|
||
title: (<div fieldid="endaccuser" className="mergecells">{json['20020RECON-000006']}</div>),/* 国际化处理: 结账人*/
|
||
dataIndex: "endaccuser",
|
||
key: "endaccuser",
|
||
width: 100,
|
||
render: (text, record, index) => {
|
||
return <div fieldid="endaccuser">{!text ? <span> </span> : text}</div>
|
||
}
|
||
},
|
||
{
|
||
title: (<div fieldid="endacctime" className="mergecells">{json['20020RECON-000007']}</div>),/* 国际化处理: 结账时间*/
|
||
dataIndex: "endacctime",
|
||
key: "endacctime",
|
||
width: 100,
|
||
render: (text, record, index) => {
|
||
return <div fieldid="endacctime">{!text ? <span> </span> : text}</div>
|
||
}
|
||
},
|
||
{
|
||
title: (<div fieldid="unendaccuser" className="mergecells">{json['20020RECON-000008']}</div>),/* 国际化处理: 取消结账*/
|
||
dataIndex: "unendaccuser",
|
||
key: "unendaccuser",
|
||
width: 100,
|
||
render: (text, record, index) => {
|
||
return <div fieldid="unendaccuser">{!text ? <span> </span> : text}</div>
|
||
}
|
||
},
|
||
{
|
||
title: (<div fieldid="unendacctime">{json['20020RECON-000009']}</div>),/* 国际化处理: 取消结账时间*/
|
||
dataIndex: "unendacctime",
|
||
key: "unendacctime",
|
||
width: 100,
|
||
render: (text, record, index) => {
|
||
return <div fieldid="unendacctime">{!text ? <span> </span> : text}</div>
|
||
}
|
||
}
|
||
|
||
];
|
||
this.setState({
|
||
json: json,
|
||
}, () => {
|
||
initTemplate.call(this, this.props);
|
||
})
|
||
}
|
||
getMultiLang({moduleId: ['20020RECON', 'uptoload'], domainName: 'gl', currentLocale: 'simpchn', callback});
|
||
}
|
||
|
||
selectedChange = (props, newVal, oldVal) => {//选中行发生变化
|
||
|
||
}
|
||
showReporModal = () => {
|
||
let {
|
||
ShowHideFlag,
|
||
reportDataSum,
|
||
reportSumTitle,
|
||
reportSumFont,
|
||
reportData,
|
||
reportTitle,
|
||
reportFont
|
||
} = this.state;
|
||
let reportSum = {
|
||
reportSumData: reportDataSum,
|
||
reportSumTitle: reportSumTitle,
|
||
reportSumFont: reportSumFont,
|
||
}
|
||
let reportDetail = {
|
||
reportDetailData: reportData,
|
||
reportDetailTitle: reportTitle,
|
||
reportDetailFont: reportFont
|
||
}
|
||
return (
|
||
<ReportModal
|
||
// config={this.props}
|
||
reportSum={reportSum}
|
||
reportDetail={reportDetail}
|
||
showOrHide={ShowHideFlag}
|
||
// onConfirm = {this.handleQueryClick.bind(this)}
|
||
handlePrintReport={this.handlePrintReport.bind(this)}//打印
|
||
showOutputModal={this.showOutputModal.bind(this)}//模板输出
|
||
handleClose={this.handleClose.bind(this)}
|
||
/>
|
||
)
|
||
}
|
||
/*对账弹框*/
|
||
showReconciModal = () => {
|
||
let {
|
||
ShowHideFlag,
|
||
reportDataSum,
|
||
reportSumTitle,
|
||
reportSumFont,
|
||
reportData,
|
||
reportTitle,
|
||
reportFont
|
||
} = this.state;
|
||
let reportSum = {
|
||
reportSumData: reportDataSum,
|
||
reportSumTitle: reportSumTitle,
|
||
reportSumFont: reportSumFont,
|
||
}
|
||
let reportDetail = {
|
||
reportDetailData: reportData,
|
||
reportDetailTitle: reportTitle,
|
||
reportDetailFont: reportFont
|
||
}
|
||
return (
|
||
<ReconciReport
|
||
// config={this.props}
|
||
reportSum={reportSum}
|
||
reportDetail={reportDetail}
|
||
showOrHide={ShowHideFlag}
|
||
// onConfirm = {this.handleQueryClick.bind(this)}
|
||
handlePrintReport={this.handlePrintReport.bind(this)}//打印
|
||
showOutputModal={this.showOutputModal.bind(this)}//模板输出
|
||
handleClose={this.handleClose.bind(this)}
|
||
/>
|
||
)
|
||
}
|
||
onRef = (ref) => {
|
||
this.UploadTax = ref;
|
||
}
|
||
|
||
render() {
|
||
let {taxcloudurl, pk_periodscheme, up_pk_accountingbook, pk_display, period} = this.state
|
||
|
||
let {
|
||
accountingbook, columnsVerify, reckonintData, listItem, ShowHideFlag, isQueryShow,
|
||
reportDataSum, reportSumTitle, reportSumFont, reportData, reportTitle, reportFont
|
||
} = this.state;
|
||
let {modal} = this.props;
|
||
let {createModal} = modal;
|
||
if (columnsVerify.length == 0) {
|
||
columnsVerify = this.Defaultcolumns ? this.Defaultcolumns : [];
|
||
}
|
||
let {table} = this.props;
|
||
let {createSimpleTable} = table;
|
||
let reportSum = {
|
||
reportSumData: reportDataSum,
|
||
reportSumTitle: reportSumTitle,
|
||
reportSumFont: reportSumFont,
|
||
}
|
||
let reportDetail = {
|
||
reportDetailData: reportData,
|
||
reportDetailTitle: reportTitle,
|
||
reportDetailFont: reportFont
|
||
}
|
||
const loadQuery = [
|
||
{
|
||
itemName: this.state.json['20020RECON-000000'],/* 国际化处理: 核算账簿*/
|
||
itemType: 'refer',
|
||
itemKey: 'pk_accountingbook',
|
||
config: {refCode: "uapbd/refer/org/AccountBookTreeRef"},
|
||
showMast: true
|
||
},
|
||
{
|
||
itemName: this.state.json['20020RECON-000002'],/* 国际化处理: 会计科目*/
|
||
itemType: "refer",
|
||
itemKey: "pk_accasoa",
|
||
config: {refCode: "uapbd/refer/fiacc/AccountDefaultGridTreeRef"},
|
||
showMast: false
|
||
},
|
||
// {
|
||
// itemName: this.state.json['20020RECON-000003'], itemType: 'Dbselect', itemKey: ['year', 'period'],/* 国际化处理: 会计期间*/
|
||
// itemChild: []
|
||
// }
|
||
]
|
||
return (
|
||
<div className="reckoning nc-bill-list" id="finalTreatment_rekoning">
|
||
<HeaderArea
|
||
title={this.state.json['20020RECON-000018']}/* 国际化处理: 总账结账*/
|
||
searchContent={
|
||
<div className="headtitle nc-theme-form-label-c" fieldid="reckoning_form-area">
|
||
<NCForm useRow={true}
|
||
submitAreaClassName='classArea'
|
||
showSubmit={false}>
|
||
{this.getHeadData()}
|
||
</NCForm>
|
||
</div>
|
||
}
|
||
btnContent={
|
||
this.props.button.createButtonApp({
|
||
area: 'button_area',
|
||
buttonLimit: 4,
|
||
onButtonClick: buttonClick.bind(this),
|
||
popContainer: document.querySelector('.header-button-area')
|
||
})
|
||
}
|
||
/>
|
||
<div className="nc-bill-table-area">
|
||
{createSimpleTable(this.tableId, {
|
||
// showCheck: true,
|
||
showIndex: true,
|
||
selectedChange: this.selectedChange.bind(this)
|
||
})}
|
||
</div>
|
||
<div>
|
||
{ShowHideFlag && createModal('reprotModal', {
|
||
title: this.state.json['20020RECON-000026'],/* 国际化处理: 结账报告*/
|
||
content: this.showReporModal(),
|
||
userControl: true, // 点确定按钮后,是否自动关闭弹出框.true:手动关。false:自动关
|
||
noFooter: true, //是否需要底部按钮,默认有footer,有false,没有true
|
||
})
|
||
}
|
||
|
||
</div>
|
||
<div>
|
||
{this.state.json['20020RECON-000015'] && createModal('rebuildbalance', {
|
||
className: "repeatexl",
|
||
title: this.state.json['20020RECON-000015'],// 弹框表头信息/* 国际化处理: 重建余额表*/
|
||
content: rebuildBalanceItem(this, loadQuery), //弹框内容,可以是字符串或dom
|
||
beSureBtnClick: rebuildBalanceComfirm.bind(this), //点击确定按钮事件
|
||
userControl: false, // 点确定按钮后,是否自动关闭弹出框.true:手动关。false:自动关
|
||
size: 'lg', // 模态框大小 sm/lg/xlg
|
||
rightBtnName: this.state.json['20020RECON-000016'], //左侧按钮名称,默认关闭/* 国际化处理: 关闭*/
|
||
leftBtnName: this.state.json['20020RECON-000017'], //右侧按钮名称, 默认确认/* 国际化处理: 确认*/
|
||
})}
|
||
</div>
|
||
<PrintModal
|
||
noRadio={true}
|
||
noCheckBox={true}
|
||
appcode={this.state.appcode}
|
||
visible={this.state.showPrintModal}
|
||
handlePrint={this.handlePrint.bind(this)}
|
||
handleCancel={() => {
|
||
this.setState({
|
||
showPrintModal: false
|
||
})
|
||
}}
|
||
/>
|
||
<PrintOutput
|
||
ref='printOutput'
|
||
url='/nccloud/gl/verify/verbalanceoutput.do'
|
||
data={this.state.outputData}
|
||
callback={this.handleOutput.bind(this)}
|
||
/>
|
||
<div>
|
||
{isQueryShow && createModal('UploadTaxModal', {
|
||
title: this.state.json['uptoload-000004'],/* 国际化处理: 上传税务云*/
|
||
content: (
|
||
<UploadTax
|
||
onRef={this.onRef}
|
||
showOrHide={this.state.isQueryShow}
|
||
handleClose={this.handleCloseTax.bind(this)}
|
||
taxcloudurl={taxcloudurl}
|
||
pk_periodscheme={pk_periodscheme}
|
||
up_pk_accountingbook={up_pk_accountingbook}
|
||
pk_display={pk_display}
|
||
period={period}
|
||
appcode={this.state.appcode}
|
||
/>
|
||
),
|
||
className: 'senior',
|
||
userControl: true, // 点确定按钮后,是否自动关闭弹出框.true:手动关。false:自动关
|
||
beSureBtnClick: this.beSureBtnClick,//点击确定按钮事件
|
||
cancelBtnClick: this.cancelBtnClick//取消按钮事件
|
||
})
|
||
}
|
||
</div>
|
||
<div>
|
||
{ShowHideFlag && createModal('reportReconciModal', {
|
||
title: this.state.json['20020RECON-000039'],/* 国际化处理: 对账*/
|
||
content: this.showReconciModal(),
|
||
userControl: true, // 点确定按钮后,是否自动关闭弹出框.true:手动关。false:自动关
|
||
noFooter: true, //是否需要底部按钮,默认有footer,有false,没有true
|
||
})
|
||
}
|
||
</div>
|
||
|
||
</div>
|
||
)
|
||
|
||
}
|
||
|
||
getMonthDays(year, month) {
|
||
var stratDate = new Date(year, month - 1, 1),
|
||
endData = new Date(year, month, 1);
|
||
var days = (endData - stratDate) / (1000 * 60 * 60 * 24);
|
||
return days;
|
||
}
|
||
}
|
||
|
||
Reckon = createPage({
|
||
// initTemplate:initTemplate
|
||
})(Reckon);
|
||
ReactDOM.render(<Reckon/>, document.querySelector('#app'));
|
||
|
||
/*pbHnlLNCpsWdx+f6QNDErXUJ9hVUkCPC2/wKKBoJVMo=*/
|