131 lines
3.2 KiB
Lua
131 lines
3.2 KiB
Lua
---@class _DBCust
|
||
---@field custName
|
||
---@field custType
|
||
---@field phoneNo
|
||
---@field address
|
||
---@field companyName
|
||
---@field taskId
|
||
---@field serviceNo
|
||
---@field companyid
|
||
---@field jsonStr
|
||
---@field dealflag
|
||
---@field custFrom
|
||
---@field customerLabel
|
||
---@field assignTime
|
||
---@field lastFollowUpTime
|
||
---@field loginNo
|
||
---@field createTime
|
||
---@field uploginno
|
||
---@field updateTime
|
||
|
||
--================================================
|
||
DBCust = {}
|
||
local db = {}
|
||
|
||
DBCust.FilterGroup = {
|
||
custFromList = "custFromList", -- 客户来源
|
||
custTypeList = "custTypeList", -- list 客户类型
|
||
dealFlagList = "dealFlagList", -- list 客户状态
|
||
loginNoList = "loginNoList", -- list 归属工号
|
||
taskList = "taskList", -- list 任务名称
|
||
followUpTypeList = "followUpTypeList", -- 跟进类型
|
||
opportunityList = "opportunityList" -- 商机
|
||
}
|
||
|
||
DBCust.FieldType = {
|
||
popuplist = "下拉框",
|
||
checkbox = "复选框",
|
||
multext = "大文本框",
|
||
number = "数字文本框",
|
||
dateTime = "时间文本框",
|
||
text = "普通文本框",
|
||
phone = "电话号码框",
|
||
empty = "empty"
|
||
}
|
||
---@class _FieldMode
|
||
_FieldMode = {
|
||
inputOnly = 0, -- 纯输入
|
||
showOnly = 1, -- 纯展示模式
|
||
modifyOnly = 2, -- 修改模式
|
||
showAndModify = 3, -- 展示械式,同时也可以modify
|
||
button = 4 -- 类似按钮的功能
|
||
}
|
||
|
||
DBCust.onGetFilter = function(data)
|
||
db.filters = data
|
||
local list = {}
|
||
for i, v in ipairs(data.loginNoList or {}) do
|
||
table.insert(list, {name = v.loginName, value = v.loginNo})
|
||
end
|
||
db.filters.loginNoList = list
|
||
|
||
-- 转换成poplist
|
||
db.taskFields = {}
|
||
db.filtersPopup = {}
|
||
for k, cells in pairs(data) do
|
||
db.filtersPopup[k] = {}
|
||
---@type System.Collections.ArrayList
|
||
db.filtersPopup[k].options = ArrayList()
|
||
db.filtersPopup[k].values = ArrayList()
|
||
|
||
-- db.filtersPopup[k].options:Add("")
|
||
-- db.filtersPopup[k].values:Add("")
|
||
for i, s in ipairs(cells) do
|
||
db.filtersPopup[k].options:Add(s.name)
|
||
db.filtersPopup[k].values:Add(tostring(s.value))
|
||
if k == DBCust.FilterGroup.taskList then
|
||
db.taskFields[tostring(s.value)] = s.fieldAttr -- 设置任务的扩展字段
|
||
end
|
||
end
|
||
end
|
||
|
||
-- 加上“全部”的选择
|
||
--[[
|
||
for k, v in pairs(DBCust.FilterGroup) do
|
||
local list = DBCust.getFilter(v)
|
||
if list then
|
||
table.insert(list, 1, {name = "全部", value = -1})
|
||
end
|
||
end
|
||
]]
|
||
end
|
||
|
||
DBCust.getFieldsByTask = function(taskValue)
|
||
if not taskValue then
|
||
return {}
|
||
end
|
||
taskValue = tostring(taskValue)
|
||
return db.taskFields[taskValue] or {}
|
||
end
|
||
|
||
DBCust.getFilter = function(filterName)
|
||
if filterName then
|
||
return db.filters[filterName]
|
||
end
|
||
return db.filters
|
||
end
|
||
|
||
DBCust.getFilter4Popup = function(filterName)
|
||
if filterName then
|
||
return db.filtersPopup[filterName]
|
||
end
|
||
return db.filters
|
||
end
|
||
|
||
DBCust.onGetCusts = function(list)
|
||
db.custs = list
|
||
end
|
||
|
||
-- DBCust.getCusts = function(callback)
|
||
-- if db.custs == nil then
|
||
-- NetProto.send.list_customers()
|
||
-- end
|
||
-- return db.custs
|
||
-- end
|
||
|
||
DBCust.clean = function()
|
||
db = {}
|
||
end
|
||
|
||
return DBCust
|