新增平台缓存数据功能 业务组需注释掉编辑后事件中的自定义缓存代码,并新传bodycode参数方便平台获取表体数据缓存,并在修改后的取消事件中弃用之前平台的方法,改为调用平台提供的getTheTransferListDataSavedLastTime接口获取当前单据最近一次保存后的数据,并调用setAllFormValue设置表单数据,调用setTableData设置表体数据
新增参数
bodycode 平台做缓存需要用到表体的编码,一主一子传字符串,一主多子传数组
新增API
getTheTransferListDataSavedLastTime 取消的时候需要获取最近一次保存的表单表格区域的数据,需要的参数:转单id、及单据下标,单据下标默认当前操作的单据
- getTheTransferListDataSavedLastTime使用时机: 取消按钮事件中, 如:
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:想要获取转单的数据的下标 | 获取转单最近一次保存过的表单表格数据, 用来在取消操作的时候调取 |
