bug fix
This commit is contained in:
@@ -0,0 +1,223 @@
|
||||
---@type IDBasePanel
|
||||
local TRBasePanel = require("ui.panel.TRBasePanel")
|
||||
---@class TRPNewFollow:TRBasePanel 邮件列表
|
||||
local TRPNewFollow = class("TRPNewFollow", TRBasePanel)
|
||||
|
||||
local uiobjs = {}
|
||||
|
||||
local stars = {}
|
||||
-- 初始化,只会调用一次
|
||||
function TRPNewFollow:init(csObj)
|
||||
TRPNewFollow.super.init(self, csObj)
|
||||
self:initFiledsAttr()
|
||||
self:setEventDelegate()
|
||||
MyUtl.setContentView(getChild(self.transform, "PanelContent"), 132, 0)
|
||||
---@type UIScrollView
|
||||
uiobjs.scrollView = getCC(self.transform, "PanelContent", "UIScrollView")
|
||||
---@type UITable
|
||||
uiobjs.Table = getCC(uiobjs.scrollView.transform, "Table", "UITable")
|
||||
---@type CLUIFormRoot
|
||||
uiobjs.DetailFromRoot = getCC(uiobjs.Table.transform, "DetailRoot", "CLUIFormRoot")
|
||||
uiobjs.DetailRoot = getCC(uiobjs.Table.transform, "DetailRoot", "CLCellLua")
|
||||
---@type UITable
|
||||
uiobjs.DetailRootTabel = uiobjs.DetailRoot:GetComponent("UITable")
|
||||
|
||||
uiobjs.ButtonSave = getChild(self.transform, "Top/ButtonSave")
|
||||
end
|
||||
|
||||
function TRPNewFollow:initFiledsAttr()
|
||||
---@type _ParamFieldAttr
|
||||
local attr
|
||||
self.baseFiledsAttr = {}
|
||||
|
||||
attr = {}
|
||||
attr.attrName = "商机"
|
||||
attr.id = ""
|
||||
attr.attrType = DBCust.FieldType.popuplist
|
||||
attr.ifMust = 1
|
||||
attr.donotJoinKey = true
|
||||
-- local popInfor = DBCust.getFilter4Popup(DBCust.FilterGroup.followUpTypeList)
|
||||
-- attr.popOptions = popInfor.options
|
||||
-- attr.popValues = popInfor.values
|
||||
table.insert(self.baseFiledsAttr, attr)
|
||||
|
||||
attr = {}
|
||||
attr.attrName = "跟进类型"
|
||||
attr.id = "followUpType"
|
||||
attr.attrType = DBCust.FieldType.popuplist
|
||||
attr.ifMust = 1
|
||||
attr.donotJoinKey = true
|
||||
local popInfor = DBCust.getFilter4Popup(DBCust.FilterGroup.followUpTypeList)
|
||||
attr.popOptions = popInfor.options
|
||||
attr.popValues = popInfor.values
|
||||
table.insert(self.baseFiledsAttr, attr)
|
||||
|
||||
attr = {}
|
||||
attr.attrName = "跟时时间"
|
||||
attr.id = ""
|
||||
attr.attrType = DBCust.FieldType.dateTime
|
||||
attr.ifMust = 1
|
||||
attr.donotJoinKey = true
|
||||
table.insert(self.baseFiledsAttr, attr)
|
||||
|
||||
attr = {}
|
||||
attr.attrName = "客户名称"
|
||||
attr.id = "custName"
|
||||
attr.attrType = DBCust.FieldType.text
|
||||
attr.ifMust = 1
|
||||
attr.donotJoinKey = true
|
||||
table.insert(self.baseFiledsAttr, attr)
|
||||
|
||||
attr = {}
|
||||
attr.attrName = "客户状态"
|
||||
attr.id = "dealFlag"
|
||||
attr.attrType = DBCust.FieldType.popuplist
|
||||
attr.ifMust = 1
|
||||
attr.donotJoinKey = true
|
||||
local popInfor = DBCust.getFilter4Popup(DBCust.FilterGroup.dealFlagList)
|
||||
attr.popOptions = popInfor.options
|
||||
attr.popValues = popInfor.values
|
||||
table.insert(self.baseFiledsAttr, attr)
|
||||
|
||||
attr = {}
|
||||
attr.attrName = "跟进内容"
|
||||
attr.id = "followUpContent"
|
||||
attr.attrType = DBCust.FieldType.multext
|
||||
attr.ifMust = 1
|
||||
attr.donotJoinKey = true
|
||||
table.insert(self.baseFiledsAttr, attr)
|
||||
end
|
||||
|
||||
-- 设置数据
|
||||
---@param paras _ParamTRPNewFollow
|
||||
function TRPNewFollow:setData(paras)
|
||||
self.mdata = {}
|
||||
self.mdata.custId = paras.custId
|
||||
self.mdata.taskId = paras.taskId
|
||||
self.mdata.custName = paras.custName
|
||||
|
||||
self.isNewFollow = true
|
||||
end
|
||||
|
||||
-- 显示,在c#中。show为调用refresh,show和refresh的区别在于,当页面已经显示了的情况,当页面再次出现在最上层时,只会调用refresh
|
||||
function TRPNewFollow:show()
|
||||
self:refreshContent()
|
||||
SetActive(uiobjs.ButtonSave.gameObject, self.isNewFollow)
|
||||
|
||||
uiobjs.scrollView:ResetPosition()
|
||||
end
|
||||
|
||||
function TRPNewFollow:refreshContent()
|
||||
self:showBaseFields()
|
||||
self.csSelf:invoke4Lua(self:wrapFunc(self.reposition), 0.1)
|
||||
end
|
||||
|
||||
function TRPNewFollow:showBaseFields()
|
||||
---@type _ParamCellExtendFiledRoot
|
||||
local param = {}
|
||||
param.data = self.mdata or {}
|
||||
param.onFinish = self:wrapFunc(self.reposition)
|
||||
param.onLoadOneField = self:wrapFunc(self.onLoadOneField)
|
||||
param.fields = {}
|
||||
---@type _ParamCellExtendFiled
|
||||
local filedInfor
|
||||
|
||||
for i, v in ipairs(self.baseFiledsAttr) do
|
||||
-- 工单模板
|
||||
filedInfor = {}
|
||||
filedInfor.attr = v
|
||||
filedInfor.isEditMode = true
|
||||
if filedInfor.attr.attrType == DBCust.FieldType.multext then
|
||||
filedInfor.onMultTextInputChg = self:wrapFunc(self.reposition)
|
||||
end
|
||||
filedInfor.onClick = nil
|
||||
filedInfor.onSelect = self:wrapFunc(self.onPopupFieldValChg)
|
||||
table.insert(param.fields, filedInfor)
|
||||
end
|
||||
|
||||
uiobjs.DetailRoot:init(param, nil)
|
||||
end
|
||||
|
||||
function TRPNewFollow:onLoadOneField(cell)
|
||||
local el = cell:GetComponent("CLUIElement")
|
||||
if el and el.jsonKey == "followUpContent" then
|
||||
uiobjs.followUpContent = el
|
||||
end
|
||||
end
|
||||
|
||||
function TRPNewFollow:onPopupFieldValChg(go)
|
||||
---@type CLUIElement
|
||||
local el = go:GetComponent("CLUIElement")
|
||||
if el.jsonKey == "dealFlag" then
|
||||
if uiobjs.followUpContent and isNilOrEmpty(uiobjs.followUpContent.value) then
|
||||
local popList = go:GetComponent("UIPopupList")
|
||||
uiobjs.followUpContent.value = popList.selectedItem
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function TRPNewFollow:reposition()
|
||||
uiobjs.DetailRootTabel.repositionNow = true
|
||||
uiobjs.Table.repositionNow = true
|
||||
end
|
||||
|
||||
-- 刷新
|
||||
function TRPNewFollow:refresh()
|
||||
end
|
||||
|
||||
-- 关闭页面
|
||||
function TRPNewFollow:hide()
|
||||
if uiobjs.DetailRoot.luaTable then
|
||||
uiobjs.DetailRoot.luaTable.release()
|
||||
end
|
||||
end
|
||||
|
||||
-- 网络请求的回调;cmd:指命,succ:成功失败,msg:消息;paras:服务器下行数据
|
||||
function TRPNewFollow:procNetwork(cmd, succ, msg, paras)
|
||||
if (succ == NetSuccess) then
|
||||
if cmd == NetProto.cmds.update_customer then
|
||||
self:refreshContent()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
function TRPNewFollow:setEventDelegate()
|
||||
self.EventDelegate = {
|
||||
ButtonSave = function()
|
||||
local err = uiobjs.DetailFromRoot:checkValid()
|
||||
if not isNilOrEmpty(err) then
|
||||
MyUtl.toastW(err)
|
||||
return
|
||||
end
|
||||
self.mdata = uiobjs.DetailFromRoot:getValue(self.mdata, true)
|
||||
showHotWheel()
|
||||
NetProto.send.create_followUp_record(
|
||||
self.mdata,
|
||||
function(content)
|
||||
hideHotWheel()
|
||||
if content.success then
|
||||
MyUtl.toastS("保存成功")
|
||||
hideTopPanel(self.csSelf)
|
||||
end
|
||||
end
|
||||
)
|
||||
end,
|
||||
InputTask = function()
|
||||
self:showExtentFiles(uiobjs.InputTask.value)
|
||||
end
|
||||
}
|
||||
end
|
||||
-- 处理ui上的事件,例如点击等
|
||||
function TRPNewFollow:uiEventDelegate(go)
|
||||
local func = self.EventDelegate[go.name]
|
||||
if func then
|
||||
func()
|
||||
end
|
||||
end
|
||||
|
||||
-- 当顶层页面发生变化时回调
|
||||
function TRPNewFollow:onTopPanelChange(topPanel)
|
||||
end
|
||||
|
||||
--------------------------------------------
|
||||
return TRPNewFollow
|
||||
Reference in New Issue
Block a user