账账相对报表

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

@ -68,7 +68,91 @@
}
}
}
}
#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{
border:none !important;
@ -95,6 +179,7 @@
}
span:nth-of-type(2){
.u-col-md-2.u-col-sm-2.u-col-xs-2:nth-of-type(1){
width: 0 !important;
//width: 110px !important;
}
}
@ -103,7 +188,7 @@
min-height: auto !important;
// padding: 0 !important;
}
}
.u-col-md-2{
padding: 0;
@ -147,7 +232,7 @@
width: 240px;
}
}
.changesm:nth-of-type(2){
.changesm:nth-of-type(3){
div:nth-of-type(1){
width: auto !important;
}
@ -160,7 +245,7 @@
// left: 113px;
// width: 82px;
}
span:nth-of-type(2){
span:nth-of-type(3){
.u-form-item.u-form-inline{
// position: absolute;
// left: 118px;
@ -211,7 +296,7 @@
.line{
height: 40px;
line-height: 40px;
.title{
.title{
float: left;
margin-right: 20px;
width: 124px;
@ -231,9 +316,9 @@
float: left;
}
}
}
.prompt-box.nc-modal.u-modal .u-modal-dialog .u-modal-content .u-modal-body{
overflow: hidden;
}
}

View File

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

View File

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