---@class _DBCust ---@field custId ---@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