Files
tianrunCRM/Assets/trCRM/upgradeRes4Dev/priority/lua/ui/panel/TRPMakeCall.lua
2020-08-18 17:24:02 +08:00

151 lines
4.8 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

local TRPMakeCall = {}
local csSelf = nil
local transform = nil
local InputNumber
local grid
local cursorPosition = -1
local currRecordName
local LabelTitle
-- 初始化,只会调用一次
function TRPMakeCall.init(csObj)
csSelf = csObj
transform = csObj.transform
grid = getChild(transform, "AnchorBottom/grid"):GetComponent("UIGrid")
local contentRect = MyUtl.getUIContent(csSelf)
grid.cellWidth = NumEx.getIntPart((contentRect.z - 100) / 3)
InputNumber = getChild(transform, "AnchorBottom/InputNumber"):GetComponent("UIInput")
local prefabCell = getChild(grid.transform, "00000").gameObject
local list = {1, 2, 3, 4, 5, 6, 7, 8, 9, "*", 0, "#"}
CLUIUtl.resetList4Lua(
grid,
prefabCell,
list,
function(cell, data)
cell:init(data, TRPMakeCall.onClickCell)
end
)
end
-- 设置数据
function TRPMakeCall.setData(paras)
end
-- 显示在c#中。show为调用refreshshow和refresh的区别在于当页面已经显示了的情况当页面再次出现在最上层时只会调用refresh
function TRPMakeCall.show()
UIInput.selection = InputNumber
InputNumber.value = ""
cursorPosition = -1
end
function TRPMakeCall.onClickCell(cell, data)
UIInput.selection = InputNumber
InputNumber:Insert(data)
end
-- 刷新
function TRPMakeCall.refresh()
end
-- 关闭页面
function TRPMakeCall.hide()
UIInput.selection = nil
end
-- 网络请求的回调cmd指命succ成功失败msg消息paras服务器下行数据
function TRPMakeCall.procNetwork(cmd, succ, msg, paras)
if (succ == 0) then
if (cmd == "8888") then
-- 回拨已调用成功
local orgs = Hashtable()
orgs.callback = "TRPMakeCall.onEndIncomingCall"
orgs.id = msg
CLLCallListner.waite4Callback(JSON.JsonEncode(orgs))
CLUIUtl.showConfirm("云呼叫中,请准备接听电话", nil)
elseif cmd == "1018" then
-- 保存通话记录完成
CLLRecordMgr.moveRecord2Upload(currRecordName)
end
end
end
-- 处理ui上的事件例如点击等
function TRPMakeCall.uiEventDelegate(go)
local goName = go.name
if (goName == "ButtonCancel") then
CLPanelManager.hideTopPanel()
elseif goName == "InputNumber" then
cursorPosition = InputNumber.cursorPosition
elseif goName == "ButtonCall" then
if InputNumber.value == nil or InputNumber.value == "" then
CLAlert.add("请输入要呼叫的号码", Color.white, 1)
return
end
CLLCallListner.ready2Call("TRPMakeCall.onEndCall", InputNumber.value)
MyUtl.callPhone(InputNumber.value)
elseif goName == "ButtonCallYun" then
if InputNumber.value == nil or InputNumber.value == "" then
CLAlert.add("请输入要呼叫的号码", Color.white, 1)
return
end
local selfPhoneNum = Prefs.getSelfPhoneNum()
showHotWheel()
CLLNet.callCust2(selfPhoneNum, InputNumber.value)
elseif goName == "ButtonDel" then
TRPMakeCall.DoBackspace()
end
end
-- 当结束通话
function TRPMakeCall.onEndCall(orgs)
local func = function(remark)
local data = Hashtable()
data.remark = remark
data.caller_number = Prefs.getSelfPhoneNum()
data.destination_number = orgs.phone
data.created_time = orgs.created_time
data.answered_time = orgs.answered_time
data.over_time = orgs.over_time
data.recording_file_name = Path.GetFileName(orgs.soundRecordFile)
showHotWheel()
CLLNet.saveCall(data)
end
currRecordName = Path.GetFileName(orgs.soundRecordFile)
CLPanelManager.getPanelAsy("PanelEndCallRemark", onLoadedPanelTT, func)
end
-- 当结束回播通话
function TRPMakeCall.onEndIncomingCall(orgs)
local id = orgs.id
local func = function(remark)
showHotWheel()
CLLNet.saveRemark4Call2(id, remark)
end
CLPanelManager.getPanelAsy("PanelEndCallRemark", onLoadedPanelTT, func)
end
-- 当按了返回键时关闭自己返值为true时关闭
function TRPMakeCall.hideSelfOnKeyBack()
return true
end
function TRPMakeCall.DoBackspace()
UIInput.selection = InputNumber
if (InputNumber.value ~= nil and InputNumber.value ~= "") then
if (InputNumber.selectionStart == InputNumber.selectionEnd) then
if (InputNumber.selectionStart < 1) then
return
end
InputNumber.selectionEnd = InputNumber.selectionEnd - 1
end
InputNumber:Insert("")
end
end
--------------------------------------------
return TRPMakeCall