--[[
|
编码:
|
名称: 入库单明细显示前事件
|
作者:
|
日期:
|
|
入口函数:BeforeGridShow
|
|
功能说明:
|
显示业务状态(N_B_STATE),并控制按钮显示逻辑
|
--]]
|
|
json = require ("json")
|
mobox = require ("OILua_JavelinExt")
|
m3 = require("oi_base_mobox")
|
|
function BeforeGridShow(strLuaDEID)
|
local nRet, strRetInfo
|
local data_objs
|
local nCount
|
|
-- 定义业务状态映射表
|
local state_names = {"可以绑定", "已经无法再绑定"}
|
|
nRet, data_objs = m3.GetSysDataJson(strLuaDEID)
|
if (nRet ~= 0) then
|
lua.Error(strLuaDEID, debug.getinfo(1), "获取数据失败: " .. data_objs)
|
return
|
end
|
|
nCount = #data_objs
|
if (nCount == 0) then return end
|
|
local row_data_set = {}
|
for i = 1, nCount do
|
local row_item = {}
|
local obj = data_objs[i]
|
|
row_item.id = obj.id
|
row_item.attrs = {}
|
row_item.row_button_hidden = ""
|
|
|
for j = 1, #obj.attrs do
|
local attr = obj.attrs[j]
|
local attr_name = attr.attr
|
local attr_value = attr.value
|
|
|
if (attr_name == "N_B_STATE") then
|
local state_index = lua.StrToNumber(attr_value)
|
if state_index >= 0 and state_index <= 1 then
|
attr.value = state_names[state_index + 1]
|
end
|
end
|
|
table.insert(row_item.attrs, attr)
|
end
|
|
table.insert(row_data_set, row_item)
|
end
|
|
-- 更新界面数据
|
local action = {
|
{
|
action_type = "reset_data_attr",
|
value = row_data_set
|
}
|
}
|
|
nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action))
|
if (nRet ~= 0) then
|
lua.Error(strLuaDEID, debug.getinfo(1), "更新数据失败: " .. strRetInfo)
|
end
|
end
|