package constvar type UserStatus int const ( UserBan UserStatus = iota UserAlive UserExamineIng ) type DeviceStatus int const ( DeviceAll DeviceStatus = iota + 1 DeviceAlive DeviceOffline ) type ClusterStatus int const ( ClusterAll ClusterStatus = iota + 1 ClusterAlive ClusterOffline ) type UserType int const ( UserTypeSuper UserType = iota + 1 // 超级管理员 UserTypePrimary // 主账户 UserTypeSub // 子账户 ) type SalesStatus int const ( SalesStatusNew SalesStatus = iota // 新建 SalesStatusIng // 进行中 SalesStatusLevelUptoClient // 升级为客户 SalesStatusLevelUptoClientAndSalesChance // 升级为客户并且有销售机会 SalesStatusFail SalesStatus = -1 // 失败 ) type CurrencyType int const ( CurrencyTypeCNY CurrencyType = iota + 1 // 人民币 CurrencyTypeUSD // 美元 CurrencyTypeEUR // 欧元 CurrencyTypeGBP // 英镑 ) type MenuType string const ( MenuTypeClient MenuType = "client" ) type VettingType int const ( VettingTypeClient VettingType = iota + 1 VettingTypeSales VettingTypeSalesChance VettingTypeSalesChanceFollow ) type ServiceContractQueryClass string const ( ServiceContractQueryClassExpireAfter30Day ServiceContractQueryClass = "30天后过期" ServiceContractQueryClassExpireAfter60Day ServiceContractQueryClass = "60天后过期" ServiceContractQueryClassExpiredBefore15Day ServiceContractQueryClass = "已过期15天" ServiceContractQueryClassExpiredBefore60Day ServiceContractQueryClass = "已过期60天" ) type ServiceContractKeywordType string const ( ServiceContractKeywordContractNo ServiceContractKeywordType = "服务合同编号" ServiceContractKeywordCustomerName ServiceContractKeywordType = "客户名称" ServiceContractKeywordContractDate ServiceContractKeywordType = "签约日期" ServiceContractKeywordContractType ServiceContractKeywordType = "合同类型" ServiceContractKeywordContractStatus ServiceContractKeywordType = "合同状态" ServiceContractKeywordPrincipal ServiceContractKeywordType = "负责人" ServiceContractKeywordProductName ServiceContractKeywordType = "产品名称" ServiceContractKeywordServiceBeginDate ServiceContractKeywordType = "服务开始日" ServiceContractKeywordServiceEndDate ServiceContractKeywordType = "服务到期日" ServiceContractKeywordServiceTotalPrice ServiceContractKeywordType = "价税合计" ) type ServiceFollowupKeywordType string const ( ServiceFollowupKeywordFollowupNo ServiceFollowupKeywordType = "回访单编号" ServiceFollowupKeywordCustomerName ServiceFollowupKeywordType = "客户名称" ServiceFollowupKeywordContactName ServiceFollowupKeywordType = "联系人姓名" ServiceFollowupKeywordCustomerServiceNo ServiceFollowupKeywordType = "客户服务单" ServiceFollowupKeywordVisitor ServiceFollowupKeywordType = "回访人" ServiceFollowupKeywordSatisfactionDegree ServiceFollowupKeywordType = "满意度" ) type ServiceFeeQueryClass string const ( ServiceFeeQueryClassExpireLessThen60Days ServiceFeeQueryClass = "过期未满60天" ServiceFeeQueryClassExpireLessThen30Days ServiceFeeQueryClass = "过期未满30天" ServiceFeeQueryClassExpireAboutTo60Day ServiceFeeQueryClass = "即将过期60天" ServiceFeeQueryClassExpireAboutTo30Day ServiceFeeQueryClass = "即将过期30天" ServiceFeeQueryClassExpired ServiceFeeQueryClass = "已过期" ServiceFeeQueryClassNoService ServiceFeeQueryClass = "无服务" ) type ServiceFeeKeywordType string const ( ServiceFeeKeywordCustomerName ServiceFeeKeywordType = "客户名称" ServiceFeeKeywordCustomerType ServiceFeeKeywordType = "客户类型" ServiceFeeKeywordSalesPrincipal ServiceFeeKeywordType = "销售负责人" ServiceFeeKeywordCustomerScale ServiceFeeKeywordType = "客户规模" ServiceFeeKeywordClientLevel ServiceFeeKeywordType = "重要级别" ServiceFeeKeywordCustomerNo ServiceFeeKeywordType = "客户编号" ServiceFeeKeywordCustomerStatus ServiceFeeKeywordType = "客户状态" ServiceFeeKeywordProductName ServiceFeeKeywordType = "产品名称" ServiceFeeKeywordServiceEndDate ServiceFeeKeywordType = "服务到期日" ) // CodeStandardType 编码类型 type CodeStandardType string const ( CodeStandardTypeSaleLead CodeStandardType = "销售线索编码" CodeStandardTypeCustom CodeStandardType = "客户编码" CodeStandardTypeFollowRecord CodeStandardType = "跟进记录编码" CodeStandardTypeSaleKey CodeStandardType = "销售机会编码" CodeStandardTypeQuotation CodeStandardType = "报价编码" CodeStandardTypeSaleTotalOrder CodeStandardType = "销售总单编码" CodeStandardTypeSaleSuborder CodeStandardType = "销售子单编码" CodeStandardTypeSaleRefund CodeStandardType = "销售退款编码" CodeStandardTypeContract CodeStandardType = "合同编码" CodeStandardTypeServerContract CodeStandardType = "服务合同编码" CodeStandardTypeServerFollow CodeStandardType = "服务回访编码" CodeStandardTypeCustomServer CodeStandardType = "客户服务编码" CodeStandardTypeSaleInvoice CodeStandardType = "销售发票编码" CodeStandardTypeSaleDetail CodeStandardType = "销售明细编码" CodeStandardTypeSaleReturnGoods CodeStandardType = "销售退货编码" ) func (t CodeStandardType) Valid() bool { if t != CodeStandardTypeSaleLead && t != CodeStandardTypeCustom && t != CodeStandardTypeFollowRecord && t != CodeStandardTypeSaleKey && t != CodeStandardTypeQuotation && t != CodeStandardTypeSaleTotalOrder && t != CodeStandardTypeSaleSuborder && t != CodeStandardTypeSaleRefund && t != CodeStandardTypeContract && t != CodeStandardTypeServerContract && t != CodeStandardTypeCustomServer && t != CodeStandardTypeSaleInvoice && t != CodeStandardTypeSaleDetail && t != CodeStandardTypeSaleReturnGoods && t != CodeStandardTypeServerFollow { return false } return true } // CodeGenerateMethod 编码生成方式 type CodeGenerateMethod int const ( CodeGenerateMethodManual CodeGenerateMethod = iota // 手动生成 CodeGenerateMethodAuto // 自动生成 ) func (t CodeGenerateMethod) Valid() bool { if t < CodeGenerateMethodManual || t > CodeGenerateMethodAuto { return false } return true } // CommonStatus 常用状态 type CommonStatus string const ( CommonStatusEnable CommonStatus = "启用" CommonStatusDisable CommonStatus = "未启用" CommonStatusScraped CommonStatus = "已报废" CommonStatusUsing CommonStatus = "使用中" ) func (s CommonStatus) Valid() bool { if s != CommonStatusEnable && s != CommonStatusDisable && s != CommonStatusScraped && s != CommonStatusUsing { return false } return true } const ( SystemType = 2 ) // ModeType 模块类型 type ModeType string const ( BjdMode ModeType = "bjd" XsmxMode ModeType = "xsmx" ) var SystemSet = map[string]interface{}{ "CRM": map[string]interface{}{ "报价单是否必须关联销售机会": map[string]interface{}{ "value": "是", "type": "select", "select": map[string]string{ "1": "是", "2": "否", }, "modeType": "bjd", }, "销售明细单是否必须关联报价单": map[string]interface{}{ "value": "是", "type": "select", "select": map[string]string{ "1": "是", "2": "否", }, "modeType": "xsmx", }, "销售明细单是否必须关联业务机会": map[string]interface{}{ "value": "是", "type": "select", "select": map[string]string{ "1": "是", "2": "否", }, "modeType": "xsmx", }, }, }