/*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
} else { if (item.itemKey == 'pk_accountingbook') { return ( {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 }) } } } ) :
} ); } else if (item.itemKey == 'pk_accasoa') { //会计科目 return ( {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 }) } } } ) :
} ); } } break; case 'select': return ( { return (item.itemChild) } } onChange={(v) => { listItem[item.itemKey].value = v this.setState({ listItem }) }} /> ) case 'textInput': return ( {/* */} {/* */} {listItem['pk_accountingbook'].value ? {defValue.split("/")[0]}{this.state.json['20020RECON-000031']}{defValue.split("/")[1]}{this.state.json['20020RECON-000032']} : } ) case 'Dbselect': return ( } > ) default: break; } }) ) : (
) } //结账检查报告 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'); }) } } } }); } //打印 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: (
{json['20020RECON-000004']}
),/* 国际化处理: 会计期间 */ dataIndex: "dispReckedMonth", key: "dispReckedMonth", width: 100, render: (text, record, index) => { return
{!text ?   : text}
} }, { title: (
{json['20020RECON-000005']}
),/* 国际化处理: 是否结账*/ dataIndex: "dispReckedOrNot", key: "dispReckedOrNot", width: 100, render: (text, record, index) => { return
{!text ?   : text}
} }, { title: (
{json['20020RECON-000006']}
),/* 国际化处理: 结账人*/ dataIndex: "endaccuser", key: "endaccuser", width: 100, render: (text, record, index) => { return
{!text ?   : text}
} }, { title: (
{json['20020RECON-000007']}
),/* 国际化处理: 结账时间*/ dataIndex: "endacctime", key: "endacctime", width: 100, render: (text, record, index) => { return
{!text ?   : text}
} }, { title: (
{json['20020RECON-000008']}
),/* 国际化处理: 取消结账*/ dataIndex: "unendaccuser", key: "unendaccuser", width: 100, render: (text, record, index) => { return
{!text ?   : text}
} }, { title: (
{json['20020RECON-000009']}
),/* 国际化处理: 取消结账时间*/ dataIndex: "unendacctime", key: "unendacctime", width: 100, render: (text, record, index) => { return
{!text ?   : text}
} } ]; 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 ( ) } /*对账弹框*/ 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 ( ) } 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 (
{this.getHeadData()}
} btnContent={ this.props.button.createButtonApp({ area: 'button_area', buttonLimit: 4, onButtonClick: buttonClick.bind(this), popContainer: document.querySelector('.header-button-area') }) } />
{createSimpleTable(this.tableId, { // showCheck: true, showIndex: true, selectedChange: this.selectedChange.bind(this) })}
{ShowHideFlag && createModal('reprotModal', { title: this.state.json['20020RECON-000026'],/* 国际化处理: 结账报告*/ content: this.showReporModal(), userControl: true, // 点确定按钮后,是否自动关闭弹出框.true:手动关。false:自动关 noFooter: true, //是否需要底部按钮,默认有footer,有false,没有true }) }
{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'], //右侧按钮名称, 默认确认/* 国际化处理: 确认*/ })}
{ this.setState({ showPrintModal: false }) }} />
{isQueryShow && createModal('UploadTaxModal', { title: this.state.json['uptoload-000004'],/* 国际化处理: 上传税务云*/ content: ( ), className: 'senior', userControl: true, // 点确定按钮后,是否自动关闭弹出框.true:手动关。false:自动关 beSureBtnClick: this.beSureBtnClick,//点击确定按钮事件 cancelBtnClick: this.cancelBtnClick//取消按钮事件 }) }
{ShowHideFlag && createModal('reportReconciModal', { title: this.state.json['20020RECON-000039'],/* 国际化处理: 对账*/ content: this.showReconciModal(), userControl: true, // 点确定按钮后,是否自动关闭弹出框.true:手动关。false:自动关 noFooter: true, //是否需要底部按钮,默认有footer,有false,没有true }) }
) } 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(, document.querySelector('#app')); /*pbHnlLNCpsWdx+f6QNDErXUJ9hVUkCPC2/wKKBoJVMo=*/