宜搭自定义表单中的表格,添加数据源变量、远程变量并传参数
自定义页面中表格属性中添加数据源可显示详情,方法有两个:一是直接将远程数据源添加到此表格的“数据源”(表格字段名须与返回字段同名);二是设定两个全局变量,一个是远程的用来获取数据,一个的普通的全局变量用来存储中转数据,最后将这个普通的全局变量绑定到表格“数据源”,表格中字段名和返回的字段名可相同也可不同。具体如下说明:
在数据源处添加的变量是全局变量,可以作为中间值完成后台和前端的数据传递。具体:通过添加“远程变量”,获得后台数据赋值给全局变量用“:”,键和值的格式,表格组件添加数据源来绑定这个全局变量,表格中字段名和远程获得数据的字段名相同时,系统可自动匹配到各字段;如果不同就需要手动一一对应分别赋值用“:”。注:即远程变量获得数据值,再赋值给全局变量(添加普通变量,作为中间值),表格绑定这个全局变量
// 循环分别给表格的每个字段赋值,
this.dataSourceMap['getBoxInfo'].load(params).then(res => { for (let index = 0; index < res.data.length; index++) { console.log('res.data.length', res.data.length) let row = { orderNo: res.data[index].stock_no, lotNo: res.data[index].lot_no, ck: res.data[index].ck_no, ckPerson: res.data[index].out_man, ckDate: res.data[index].out_date, boxNo: res.data[index].box_no_sum, bWeight: res.data[index].qty, tzNumber: res.data[index].out_m, ywPerson: res.data[index].emp_name, ckNo: res.data[index].send_no, jlDate: res.data[index].out_date, isOut: res.data[index].out_fl } this.insertScanRecord(row); } })
//
scanRecordNewList
export function insertScanRecord(row) { if (row == null) { return; } let oldTable = this.state.scanRecordNewList; console.log('old', oldTable); if (oldTable == null || oldTable == "undefined" || oldTable == "") { oldTable = new Array(); } oldTable.push(row); // 将数据存储到数组变量中 this.setState({ scanRecordNewList: oldTable // scanRecordNewList 就是绑定表格的那个全局变量
}); }
// 调用远程变量时传递参数,指定各参数中间用“,”隔开 let params = { zx_no: zx_no, barcode: text, create_user: window.loginUser.userName, } this.dataSourceMap['getBox2Info'].load(params).then(res => { console.log('res2=', res) if (res.data[0].isSuccess == 0) { this.utils.toast({ type: 'error', title: res.data[0].error_message }); return } else { // 重新读取装箱单号,刷新装箱单明细表,out_fl=1表示可以装箱或该纸箱已扫描,out_fl=0未审核或未扫描的箱体 let zx_no = this.$('textField_l9qdmsye').getValue(); params = { zx_no: zx_no }
浙公网安备 33010602011771号