Mobox低代码平台有数据是通过json格式进行传递的,对于json格式 有4类
1、返回纯数组
描述:[“12.5″,”235”]
数据获取过程:
2、返回纯对象
描述:{“id”:”%s”,”name”:”%s”}
数据获取过程:
3、返回对象(包含数组)
描述:{“id”:”xxx”,”attrs”:[{“attr”:”attr1″,”value”:”xxx1″},{“attr”:”attr2″,”value”:”xxx2″}, …]}
数据获取过程:
4、返回数组 [含对象(含数组)] 最复杂
描述:[{“id”:”xxx”,”attrs”:[{“attr”:”attr1″,”value”:”xxx1″},{“attr”:”attr2″,”value”:”xxx2″}, …]},…]
数组 含 对象(含数组) 比较多的出现在 grid ,行列处理 (比如 遍历表,做显示前处理)
【例子】
json = require (“json”)
mobox = require (“OILua_JavelinExt”)
function AfterSelectCustomer ( strLuaDEID )
local nRet, strUserLogin, strUserName , strRetInfo
local strRetInfo
— 获取当前选择数据
nRet, strRetInfo = mobox.getCurEditDataPacket( strLuaDEID )
if ( nRet~=0 ) then
mobox.error( strLuaDEID, “无法获取Lua数据包!”)
return
end
if ( strRetInfo==” ) then
mobox.error( strLuaDEID, “接口数据包为空!”)
return
end
local Retobjs
local n, nCount
local strKAtax, strKAName, strKASCode, strINDUSTRY, strNATURE, strTEL, strADDRESS, strBank, strACCOUNT, strEXPRESS
Retobjs = json.decode(strRetInfo)
nCount = #Retobjs
if (nCount == 0) then
return
end
local obj, attrs
for n = 1, nCount do
obj = Retobjs[n]
attrs = obj.attrs
nattr_count = #attrs
— 获取 相关参数
for nIndex = 1, nattr_count do
strAttr = attrs[nIndex].attr
strValue = attrs[nIndex].value
if (strAttr == ‘S_KA_NAME’) then
strKAName = strValue
end
if (strAttr == ‘S_TAX_CODE’) then
strKAtax = strValue
— 如果客户的税号没有填写 ,不允许做合同
if ( strKAtax == ” or strKAtax == nil ) then
mobox.error( strLuaDEID, “税号不能为空 ! 先修改此客户属性,将其税号(及相关开票信息)加入”)
return
end
end
— 以下以此类推 ,对相关需要赋值的 变量 。。。
end
end
— 设置 商机编号,客户编号,客户名称local setAttr = ‘[{“attr”:”S_KA_CODE”,”value”:”‘..strKASCode..'”},{“attr”:”S_KA_NAME”,”value”:”‘..strKAName..'”},{“attr”:”S_INDUSTRY”,”value”:”‘..strINDUSTRY..'”},{“attr”:”S_NATURE”,”value”:”‘..strNATURE..'”},{“attr”:”S_ACCOUNT”,”value”:”‘..strACCOUNT..'”},{“attr”:”S_TEL”,”value”:”‘..strTEL..'”},{“attr”:”S_ADDRESS”,”value”:”‘..strADDRESS..'”},{“attr”:”S_BANK”,”value”:”‘..strBank..'”},{“attr”:”S_EXPRESS”,”value”:”‘..strEXPRESS..'”},{“attr”:”S_TAX_CODE”,”value”:”‘..strKAtax..'”}]’
mobox.setCurEditDataObjAttr( strLuaDEID,setAttr )
end