新增平台缓存数据功能 业务组需注释掉编辑后事件中的自定义缓存代码,并新传bodycode参数方便平台获取表体数据缓存,并在修改后的取消事件中弃用之前平台的方法,改为调用平台提供的getTheTransferListDataSavedLastTime接口获取当前单据最近一次保存后的数据,并调用setAllFormValue设置表单数据,调用setTableData设置表体数据

新增参数

bodycode 平台做缓存需要用到表体的编码,一主一子传字符串,一主多子传数组

新增API

getTheTransferListDataSavedLastTime 取消的时候需要获取最近一次保存的表单表格区域的数据,需要的参数:转单id、及单据下标,单据下标默认当前操作的单据

  • getTheTransferListDataSavedLastTime使用时机: 取消按钮事件中, 如:
  1. let data = getTheTransferListDataSavedLastTime(transferId, 0) // 获取最近一次保存的表单表格区域的数据

下游转单列表API

下游转单列表是上游转单选择数据点击生成后跳转到该页面

import React, { Component } from 'react';
import { Row,Col } from "tinper-bee";
import { initTransferTemplate, btnClick, setTransferListValue } from './events';
import { createForm } from 'src/Page/Form';
import { createPage } from 'src';
import NCButton from 'src/base/nc_Button';
import './index.less'

class TransferTable extends Component {
    constructor(props) {
        super(props);
        this.headTableId = "reva_revecont_all";
        this.transformFormId = "head";
    }

    componentDidMount() {
        let transferIds = this.props.transferTable.getTransferTableSelectedId();//单来源转单id
        let multiIds = this.props.transferTable.getTransferTableMultiSelectedId();//多来源转单id
        this.setTransferListValue = setTransferListValue;
        initTransferTemplate(this.props);//列表型转单
        this.setTransferListValue();
        console.log('转单id', transferIds)
        console.log('多来源转单id', multiIds)
    }

    // react:界面渲染函数
    render() {
        const { transferTable, form, button, search, editTable } = this.props;
        const { NCCreateSearch } = search;
        const { createForm } = form;
        const { createButton } = button;
        const { createTransferList } = transferTable;
        this.initTransferTemplate = initTransferTemplate;
        this.setTransferListValue = setTransferListValue;
        return (
            <div className="nc-bill-transferList"style={{backgroundColor: '#fff'}}>
                    <div className='nc-bill-header-area'>
                        <div className='header-title-search-area'>
                            <h2 className='title-search-detail'>采购单</h2>
                        </div>
                        <div className='header-button-area'>
                            {createButton('return', {
                                name: '返回',
                                onButtonClick: btnClick.bind(this),
                            })}
                            {createButton('save', {
                                name: '保存',
                                onButtonClick: btnClick.bind(this),
                                buttonColor: 'main-button'
                            })}
                            {createButton('cancel', {
                                name: '取消',
                                onButtonClick: btnClick.bind(this),
                            })}
                            {createButton('quit', {
                                name: '退出转单',
                                onButtonClick: btnClick.bind(this),
                            })}
                        </div>
                    </div>
                    {
                        this.props.location.query.type === 'transfer' ?
                        <div className='nc-bill-transferList-content'>
                            {
                                createTransferList({
                                    headcode:'head', //表头的区域编码
                                    bodycode: 'body', // 表体的区域编码
                                    transferListId: 'transformData', //转单列表id
                                    onTransferItemSelected: (record,status) => { //转单缩略图被选中时的钩子函数 status:转单处理状态
                                        this.props.form.setAllFormValue({ [this.transformFormId]: record.head.head });
                                    },
                                    onTransferItemClick: (record, index, status) => { //点击转单缩略图的钩子函数 status:转单处理状态
                                        let formData = record.head.head;
                                        this.props.form.setAllFormValue({ [this.transformFormId]: formData});
                                    }
                                })
                            }
                            <div className='nc-bill-card transferList-content-right'>
                                <div className='nc-bill-form-area'>
                                    {createForm(this.transformFormId)}
                                </div>
                                <div className='nc-bill-table-area'>
                                    {createForm(this.transformFormId)}
                                </div>
                            </div>
                    </div>:createForm(this.transformFormId)
                    }
            </div>
        );
    }
}

export default createPage({
    initTemplate: initTransferTemplate
})(TransferTable);
方法名 参数 说明
createTransferList({
bodycode,
headcode,
transferListId,
onTransferItemClick,
onTransferItemSelected
})
bodycode: 表体区域编码可以是字符串(一主一子)也可以是数组(一主多子)
headcode:表头的区域编码
transferListId:转单列表id
onTransferItemClick(record, index, status):点击转单缩略图的钩子函数 record:选中的数据 index:该条的序号 status:转单处理状态
onTransferItemSelected(record,status):转单缩略图被选中时的钩子函数 record:选中的数据 status:转单处理状态
创建转单列表
setTransferListValue(id, data) id:转单列表id
data:转单数据
设置转单列表数据
updateTransferListValue(id, data) id:转单列表id
data:转单数据
设置转单列表数据
setTransformFormStatus(id, { status, index, onChange, isNext }) id:转单列表id
status:处理状态 值为true/false
index:要设置转单列表的index 选填 不传index默认为当前操作的index
onChange:操作成功后的回调函数
isNext:操作成功后不调用onChange(应用场景保存提交操作,保存成功提交失败不希望左侧数据跳下一条则加此参数设为false)
改变转单的处理状态(已处理/未处理
updateTransformFormStatus(id, { status, index }) id:转单列表id
status:处理状态 值为true/false
index:要设置转单列表的index 选填 不传index默认为当前操作的index

| 仅改变转单的处理状态(修改完某条单据后可将已处理状态改为未处理状态)与setTransformFormStatus不同,没有onchange和isNext | | getTransformFormAmount(id) | id:转单列表id | 获取转单数据的数量 | | setMultiTransformFormStatus(id, { status, selId, success }) | id:转单列表id
status:处理状态 值为true/false
selId:选中数据的id数组
success:操作成功的回调函数 | 批量改变转单状态 | | getTransformFormCompleteStatus(id, index) | id:转单列表id
index:选填 要查看转单的index | 获取当前转单处理状态 | | setTransferListValueByIndex(id, data, index) | id:转单列表id
data:要更新的数据
index:要更新数据的index | 根据index更新左侧列表数据 | | updateTransferListValueByIndex(id, data, index) | id:转单列表id
data:要更新的数据
index:要更新数据的index | 为解决后台保存差异vo —-根据index更新左侧列表数据 | | getTransferTableSelectedId() | | 获取单来源转单已选主子表id | | getTransferTableMultiSelectedId() | | 获取多来源转单已选主子表id | | getTheTransferListDataSavedLastTime(id, index) | id:转单列表id
index:想要获取转单的数据的下标 | 获取转单最近一次保存过的表单表格数据, 用来在取消操作的时候调取 |