async printAllowance(lMatnAlwnCrtfDFormQuery) {
let baseUrl =
'http://172.16.240.21:8080/unireport/Report-ResultAction.do?reportId=%27
let reportId = 'REPORT-C9BC2E5630A00001CCACBB81E1FD13B8'
debugger
const rpotUrl = `${baseUrl}${reportId}&CERTNO=${lMatnAlwnCrtfDFormQuery.certno}&EMPNO=${lMatnAlwnCrtfDFormQuery.empNo}`
console.log('rpotUrl:' + rpotUrl)
this.rpotArr = rpotUrl
this.drawerShow = true
},
只传入一个的话 由于单位编号未定义,数据就显示不了了
尝试过将这些所有必填和非必填的参数都放入一个data里面 非必填的就给个空 有值了再赋上
这种拼接的写法 当非必填的成为未定义的时候 如何校验 处理一下?传入一个身份证号也能正常显示?前端有点菜,各位专家们多多指教一下,谢谢
问题很简单呀,你就把那两个非必填设置成必填不就好了,如果你不会设置就比葫芦画瓢啊,其他必填是怎么来的你就怎么搞
建议看下后端是怎么处理的,当你有条件传空时,后端是否能正确返回数据?
如果不能返回,说明这是后端查数据库的问题;
如果返回正确了,那你前端取返回的数据就好了
另外,前端、后端必须要遵从相同的逻辑,比如这玩意到底是可以返回多行还是只能返回一行?
你报表服务器就是后端,必须要确定一下它sql的where条件是怎么写的,有这样两种情况
where 字段=ifnull(参数,字段)
url这一部分的话,其实就是一个字符串拼接,你可以对每个可为空的参数,写个if判断逻辑,当参数不为空时,才把这个参数给拼上去
传给后端的时候 编号默认给个时间戳
三元判断一下
num?num:new Date().getTime() 正常该回显回显