账账相对报表

This commit is contained in:
xyz 2025-01-03 17:40:29 +08:00
parent ab0e28d91f
commit a1c1c3a44e
4 changed files with 1502 additions and 1117 deletions

File diff suppressed because it is too large Load Diff

View File

@ -69,6 +69,90 @@
} }
} }
}
#reconci_report{
.btn{text-align: right}
//开始结账
.tryto{
.detail{
color: #fff;
font-size: 12px !important;
}
.u-button.undefined.nc-button-wrapper.button-primary {
font-size: 12px !important;
}
.reportTitle{
text-align:center;
line-height: 40px;
}
.reportSumTitle{
position: absolute;
top: 9px;
color:red;
}
.u-table-scroll{
.u-table-thead{
.thTitle{
width: 100%;
justify-content: center;
}
}
.u-table-body{
tr:first-child{
td{
background-color: #dde3ee;
}
}
.tdSecondBox{
display: flex;
div{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
}
div:not(last-child){
margin-right: 5px;
}
}
/*.u-table-tbody{
pre{
white-space: pre-wrap;
word-wrap: break-word;
word-break: normal;
}
}*/
}
}
.u-button-group{
float: right;
margin: 5px 0 0 0 !important;
.u-button{
margin-left: 6px;
border-radius: 4px;
}
.noprimary{
font-size: 13px;
border-radius: 3px;
min-width: 60px;
line-height: 0px;
background: #fff;
color: #111;
border: 1px solid #D0D0D0;
-webkit-box-shadow: 0 1px 1px #d0d0d0;
box-shadow: 0 1px 1px #d0d0d0;
}
.noprimary:hover{
background: #FFF;
border: 1px solid #E14C46;
color: #E14C46;
}
}
}
} }
.u-form-item .u-input-group-outer .u-input-after, .u-form-item .u-input-group-outer .u-input-before{ .u-form-item .u-input-group-outer .u-input-after, .u-form-item .u-input-group-outer .u-input-before{
border:none !important; border:none !important;
@ -95,6 +179,7 @@
} }
span:nth-of-type(2){ span:nth-of-type(2){
.u-col-md-2.u-col-sm-2.u-col-xs-2:nth-of-type(1){ .u-col-md-2.u-col-sm-2.u-col-xs-2:nth-of-type(1){
width: 0 !important;
//width: 110px !important; //width: 110px !important;
} }
} }
@ -147,7 +232,7 @@
width: 240px; width: 240px;
} }
} }
.changesm:nth-of-type(2){ .changesm:nth-of-type(3){
div:nth-of-type(1){ div:nth-of-type(1){
width: auto !important; width: auto !important;
} }
@ -160,7 +245,7 @@
// left: 113px; // left: 113px;
// width: 82px; // width: 82px;
} }
span:nth-of-type(2){ span:nth-of-type(3){
.u-form-item.u-form-inline{ .u-form-item.u-form-inline{
// position: absolute; // position: absolute;
// left: 118px; // left: 118px;

View File

@ -1,36 +1,64 @@
/*qZ5a1x5ign4IdlZuRO5Ax6TjC2a3u5fVc0DIn53oa4I=*/ /*qZ5a1x5ign4IdlZuRO5Ax6TjC2a3u5fVc0DIn53oa4I=*/
import React, { Component } from 'react'; import React, {Component} from 'react';
import {high,base,ajax,getMultiLang } from 'nc-lightapp-front'; import {high, base, ajax, getMultiLang} 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, const {
NCCheckbox:Checkbox,NCNumber,AutoComplete,NCDropdown:Dropdown,NCPanel:Panel,NCModal:Modal,NCForm,NCButtonGroup:ButtonGroup,NCDiv 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,
NCModal: Modal,
NCForm,
NCButtonGroup: ButtonGroup,
NCDiv
} = base; } = base;
const { NCFormItem:FormItem } = NCForm; const {NCFormItem: FormItem} = NCForm;
import '../index.less'; import '../index.less';
export default class ReportModal extends Component{
constructor(props){ export default class ReportModal extends Component {
constructor(props) {
super(props) super(props)
this.columns_report = [ this.columns_report = [
{ {
title: "", title: (<div>5235235</div>),
dataIndex: "strRowOne", dataIndex: "strRowOne",
key: "strRowOne", key: "strRowOne",
width: 300, width: 300,
render:(text, record, index)=>{ render: (text, record, index) => {
let {reportTableData}=this.state; let {reportTableData} = this.state;
let redFlag=false; let redFlag = false;
for(let k in reportTableData.reportDetailFont){ for (let k in reportTableData.reportDetailFont) {
if(k==text){ if (k == text) {
redFlag=true; redFlag = true;
} }
} }
if(redFlag){ if (redFlag) {
return( return (
<div className="fontColor" fieldid="strRowOne"><pre>{!text?<span>&nbsp;</span>:text}</pre></div> // <div className="fontColor" fieldid="strRowOne"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
<div className="fontColor" fieldid="strRowOne">
<pre>测试测试111</pre>
</div>
) )
}else{ } else {
return( return (
<div fieldid="strRowOne"><pre>{!text?<span>&nbsp;</span>:text}</pre></div> // <div fieldid="strRowOne"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
<div fieldid="strRowOne">
<pre>测试测试222</pre>
</div>
) )
} }
@ -41,210 +69,173 @@ export default class ReportModal extends Component{
dataIndex: "strRowTwo", dataIndex: "strRowTwo",
key: "strRowTwo", key: "strRowTwo",
width: 350, width: 350,
render:(text, record, index)=>{ render: (text, record, index) => {
let {reportTableData}=this.state; let {reportTableData} = this.state;
let redFlag=false; let redFlag = false;
for(let k in reportTableData.reportDetailFont){ for (let k in reportTableData.reportDetailFont) {
if(k==text){ if (k == text) {
redFlag=true; redFlag = true;
} }
} }
if(redFlag){ if (redFlag) {
return( return (
<div className="fontColor" fieldid="strRowTwo"><pre>{!text?<span>&nbsp;</span>:text}</pre></div> <div className="fontColor" fieldid="strRowTwo">
<pre>{!text ? <span>&nbsp;</span> : text}</pre>
</div>
) )
}else{ } else {
return( return (
<div fieldid="strRowTwo"><pre>{!text?<span>&nbsp;</span>:text}</pre></div> <div fieldid="strRowTwo">
<pre>{!text ? <span>&nbsp;</span> : text}</pre>
</div>
) )
} }
} }
} }
] ]
this.state={ this.state = {
json:{}, json: {},
reportTableData:this.props.reportDetail||[], reportTableData: this.props.reportDetail || [],
reportTableDataSum:this.props.reportSum||[], reportTableDataSum: this.props.reportSum || [],
reportTableTitle:'', reportTableTitle: '',
fontStr:{}, fontStr: {},
columns_report:this.columns_report, columns_report: this.columns_report,
columns_reportSum:[], columns_reportSum: [],
sumOrDetail:'sum'//默认像是汇总table数据 sumOrDetail: 'sum'//默认像是汇总table数据
} }
} }
componentWillMount() { componentWillMount() {
let callback= (json) =>{ let callback = (json) => {
// console.log(json)
this.columns_reportSum = [ this.columns_reportSum = [
{ {
title: (<div fieldid="strRowOne" className='checkbox-mergecells'>{json['20020RECON-000023']}</div>),/* 国际化处理 检查项*/ title: (<div fieldid="field1" className='checkbox-mergecells thTitle'>{json['20020RECON-000034']}</div>),/* 国际化处理 总账余额表*/
dataIndex: "strRowOne", dataIndex: "field1",
key: "strRowOne", key: "field1",
width: 300, width: 300,
render:(text, record, index)=>{ render: (text, record, index) => {
let {reportTableDataSum}=this.state; return (
let redFlag=false; <div fieldid="field1" className='tdSecondBox'>
for(let k in reportTableDataSum.reportSumFont){ {/*会计科目*/}
if(k==text){ <div style={{"width": "180px"}} title={record.paccname}>{record.paccname}</div>
redFlag=true; {/*期末余额*/}
} <div style={{"width": "120px"}} title={record.pendlocamount}>{record.pendlocamount}</div>
} </div>
if(redFlag){
return(
<div className="fontColor" fieldid="strRowOne"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
) )
}else{
return(
<div fieldid="strRowOne"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
)
}
} }
}, },
{ {
title: (<div fieldid="strRowTwo" className='checkbox-mergecells'>{json['20020RECON-000024']}</div>),/* 国际化处理 是否通过*/ title: (<div fieldid="field2" className='checkbox-mergecells thTitle'>{json['20020RECON-000035']}</div>),/* 国际化处理 总账辅助余额表*/
dataIndex: "strRowTwo", dataIndex: "field2",
key: "strRowTwo", key: "field2",
width: 80, width: 500,
render:(text, record, index)=>{ render: (text, record, index) => {
let {reportTableDataSum}=this.state; return (
let redFlag=false; <div fieldid="field2" className='tdSecondBox'>
for(let k in reportTableDataSum.reportSumFont){ {/*会计科目*/}
if(k==text){ <div style={{"width": "180px"}} title={record.accname}>{record.accname}</div>
redFlag=true; {/*辅助核算*/}
} <div style={{"width": "200px"}} title={record.assname}>{record.assname}</div>
} {/*期末余额*/}
if(redFlag){ <div style={{"width": "120px"}} title={record.endlocamount}>{record.endlocamount}</div>
return( </div>
<div className="fontColor" fieldid="strRowTwo"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
) )
}else{
return(
<div fieldid="strRowTwo"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
)
}
} }
}, },
{ /*{
title: (<div fieldid="strRowThree" className='checkbox-mergecells'>{json['20020RECON-000025']}</div>),/* 国际化处理 说明*/ title: (<div fieldid="field3" className='checkbox-mergecells thTitle'>{json['20020RECON-000036']}</div>),/!* 国际化处理 总账辅助明细账*!/
dataIndex: "strRowThree", dataIndex: "field3",
key: "strRowThree", key: "field3",
width: 310, width: 680,
render:(text, record, index)=>{ render: (text, record, index) => {
let {reportTableDataSum}=this.state; return (
let redFlag=false; <div fieldid="field3" className='tdSecondBox'>
for(let k in reportTableDataSum.reportSumFont){ <div style={{"width": "180px"}} title={record.field6}>{record.field6}</div>{/!*会计科目*!/}
if(k==text){ <div style={{"width": "200px"}} title={record.field7}>{record.field7}</div>{/!*辅助核算*!/}
redFlag=true; <div style={{"width": "180px"}} title={record.field8}>{record.field8}</div>{/!*凭证号*!/}
} <div style={{"width": "120px"}} title={record.field9}>{record.field9}</div>{/!*余额*!/}
} </div>
if(redFlag){
return(
<div className="fontColor" fieldid="strRowThree"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
) )
}else{
return(
<div fieldid="strRowThree"><pre>{!text?<span>&nbsp;</span>:text}</pre></div>
)
}
} }
},*/
{
title: (<div fieldid="field4" className='checkbox-mergecells thTitle'>{json['20020RECON-000037']}</div>),/* 国际化处理 差异*/
dataIndex: "field4",
key: "field4",
width: 300,
render: (text, record, index) => {
return (
<div fieldid="field4" className='tdSecondBox'>
{/*会计科目*/}
<div style={{"width": "180px"}} title={record.paccname}>{record.paccname}</div>
{/*金额*/}
<div style={{"width": "120px"}} title={record.difference}>{record.difference}</div>
</div>
)
} }
},
] ]
this.setState({ this.setState({
columns_reportSum:this.columns_reportSum, columns_reportSum: this.columns_reportSum,
json:json, json: json,
},()=>{ }, () => {
}) })
} }
getMultiLang({moduleId:'20020RECON',domainName:'gl',currentLocale:'simpchn',callback}); getMultiLang({moduleId: '20020RECON', domainName: 'gl', currentLocale: 'simpchn', callback});
} }
componentWillReceiveProps(nextProp){
let {reportTableDataSum,reportTableData,reportTableTitle}=this.state; componentWillReceiveProps(nextProp) {
let{reportSum,reportDetail,showOrHide}=nextProp; console.log(this.state)
reportTableDataSum=reportSum; let {reportTableDataSum, reportTableData, reportTableTitle} = this.state;
reportTableData=reportDetail; let {reportSum, reportDetail, showOrHide} = nextProp;
reportTableDataSum = reportSum;
reportTableData = reportDetail;
this.setState({ this.setState({
reportTableDataSum,reportTableData reportTableDataSum, reportTableData
}) })
} }
componentDidMount(){
componentDidMount() {
} }
//关闭
close() { render() {
this.props.handleClose(); let {columns_reportSum} = this.state;
} let {reportDetail} = this.props;
//返回 let reportTableData = reportDetail;
comeBack=()=>{ return (
let {sumOrDetail}=this.state; <div id='reconci_report'>
sumOrDetail='sum'; <div className="tryto" style={{"padding-top":"15px"}}>
this.setState({
sumOrDetail {/*<div class='reportTitle'>账账相对</div>*/}
}) {<NCDiv fieldid="reportTable_sum" areaCode={NCDiv.config.TableCom}>
}
//查看详情
queryReportDetail=()=>{
let {sumOrDetail}=this.state;
sumOrDetail='detail';
this.setState({
sumOrDetail
})
}
//打印
confirm=()=>{
this.props.handlePrintReport();
}
//模板输出
outPutModule=()=>{
this.props.showOutputModal();
}
render(){
let {sumOrDetail,reportTableTitle,columns_report,columns_reportSum}=this.state;
let{showOrHide,reportSum,reportDetail}=this.props;
let reportTableDataSum=reportSum;
let reportTableData=reportDetail;
return(
<div id='finalTreatment_report'>
<div className="tryto">
<ButtonGroup style={{ margin: 10 }}>
{sumOrDetail == 'detail' ?
<Button colors="primary" onClick={this.comeBack.bind(this)} fieldid="comeback">{this.state.json['20020RECON-000027']}</Button>/* 国际化处理 返回*/
: null}
{sumOrDetail == 'sum' ?
<Button colors="primary" onClick={this.queryReportDetail.bind(this)} className="detail" fieldid="detailea">{this.state.json['20020RECON-000028']}</Button>/* 国际化处理 查看详情*/
: null}
{sumOrDetail == 'detail' ?
<Button colors="" onClick={this.confirm.bind(this)} fieldid="print">{this.state.json['20020RECON-000029']}</Button>/* 国际化处理 打印*/
: null}
{sumOrDetail == 'detail' ?
<Button colors="" onClick={this.outPutModule.bind(this)} fieldid="output">{this.state.json['20020RECON-000030']}</Button>/* 国际化处理 模板输出*/
: null}
{/* <Button colors="primary" onClick={this.close.bind(this)}>关闭</Button> */}
</ButtonGroup>
<div class='reportTitle'>{reportTableData.reportDetailTitle} </div>
{(sumOrDetail == 'sum') ?
<div class='reportSumTitle'>{reportTableDataSum.reportSumTitle} </div>
: null}
{(sumOrDetail == 'sum') ?
<NCDiv fieldid="reportTable_sum" areaCode={NCDiv.config.TableCom}>
<Table <Table
columns={columns_reportSum} columns={columns_reportSum}
bordered bordered
data={reportTableDataSum.reportSumData} data={reportTableData.reportDetailData}
scroll={{ x: columns_reportSum.length > 8 ? (100 + (columns_reportSum.length - 8) * 15) + "%" : '100%', y: 320 }} scroll={{
x: columns_reportSum.length > 8 ? (100 + (columns_reportSum.length - 8) * 15) + "%" : '100%',
y: 320
}}
/> />
</NCDiv> : null} </NCDiv>}
{(sumOrDetail == 'detail') ? {/*{(sumOrDetail == 'detail') ?
<NCDiv fieldid="reportTable_detail" areaCode={NCDiv.config.TableCom}> <NCDiv fieldid="reportTable_detail" areaCode={NCDiv.config.TableCom}>
<Table <Table
columns={columns_report} columns={columns_report}
bordered bordered
data={reportTableData.reportDetailData} data={reportTableData.reportDetailData}
scroll={{ x: columns_report.length > 8 ? (100 + (columns_report.length - 8) * 15) + "%" : '100%', y: 320 }} scroll={{
x: columns_report.length > 8 ? (100 + (columns_report.length - 8) * 15) + "%" : '100%',
y: 320
}}
/> />
</NCDiv> : null} </NCDiv> : null}*/}
</div> </div>
</div> </div>
) )

View File

@ -32,5 +32,11 @@
"20020RECON-000030": "模板输出", "20020RECON-000030": "模板输出",
"20020RECON-000031": "年", "20020RECON-000031": "年",
"20020RECON-000032": "月", "20020RECON-000032": "月",
"20020RECON-000033": "重建余额表成功" "20020RECON-000033": "重建余额表成功",
"20020RECON-000034": "总账余额表",
"20020RECON-000035": "总账辅助余额表",
"20020RECON-000036": "总账辅助明细表",
"20020RECON-000037": "差异",
"20020RECON-000038": "请先选择会计科目",
"20020RECON-000039": "账账相对报表"
} }