内容发布更新时间 : 2024/12/22 17:18:13星期一 下面是文章的全部内容请认真阅读。
第三节 用户界面设计
由于CRM系统的用户是对计算机并不十分精通的销售人员及计调人员等,从他们的应用需求出发,系统采用了传统的基于菜单选择,简洁明朗,易于操作。
一、登陆界面设计
为了保证系统的安全性,进入系统之前必须使用正确的用户名和密码。简洁、清晰、友好是此设计的风格。如图5-15所示。
图5-15系统登陆界面
二、系统主界面设计
系统的主画面屏幕由三个部分组成,分别为主菜单、工作区、状态信息区及工具栏。屏幕的最上方为主菜单区,显示本系统的主菜单,用户可以用鼠标左键来选择相应的菜单,当鼠标移到主菜单上,就自动弹出下拉框,然后用鼠标选择。当作出选择后,系统就进入了相应的业务处理功能。主界面如图5-16至5-20所示。
图5-16系统主界面
图5-17是客户管理界面,在这个界面时,可以查询、添加、删除、修改客户(潜在客户、联系人)信息,同时也可进行客户关怀操作。
中国最大的论文知识平台www.lwxiezuo.com
图5-17客户管理界面
图5-18是产品管理界面,在这个界面时,可以查询、添加、删除、修改产品信息,同时可进行价格清单和采购操作。
图5-18产品管理界面
图5-19是销售管理界面,在这个界面可完成一次完整的销售过程。一次正常的销售一般从潜在商机开始,逐步进入销售报价,然后进行开始发送销售订单,最后开具销售发票结束销售。
图5-19销售管理界面
图5-20是统计分析界面。
图5-20统计分析界面
中国最大的论文知识平台www.lwxiezuo.com
第四节 功能模块的具体实现
VTigerCRM采用的是模块开发机制,一个完整的VTigerCRM系统是由多个不同的模块组成的。也就是说VTigerCRM的二次开发其实模块的开发。下面就以客户关怀模块(本次作者开发)的开发为例,介绍如何开发VTigerCRM的模块。
准备工作,首先要获得模块模板文件(其所在路径为:VTigerCRM根目录/vtlib/ModuleDir/)。将模块模板文件拷贝至Modules目录下(Modules目录路径为:VTigerCRM/modules)。重命名模块模板文件夹名为新模块名称,同时替换其下文件名“ModuleFile”为“新模块名称”。下面就可以开始模块的开发了。
一、创建模块实例、数据库表,添加到导航栏
主要源码:
include_once('vtlib/Vtiger/Menu.php'); include_once('vtlib/Vtiger/Module.php'); $module = new Vtiger_Module(); $module->name = 'Acare'; $module->save(); $module->initTables();
$menu = Vtiger_Menu::getInstance('kh'); $menu->addModule($module); 源码分析:
$module->initTables()——创建模块的三个基础数据库表,如表5-1所示。
表5-1模块的三个基础数据表 数据库表 Basetable Customtable Grouptable 命名约定 vtiger_
二、给模块添加显示区域
主要源码:
$block1 = new Vtiger_Block();
$block1->label = 'LBL_ACARE_INFORMATION'; $module->addBlock($block1); $block2 = new Vtiger_Block();
中国最大的论文知识平台www.lwxiezuo.com
$block2->label = 'LBL_CUSTOM_INFORMATION'; $module->addBlock($block2);
三、添加字段
在新模块数据库表中添加字段,源码如下: $field1 = new Vtiger_Field(); $field1->name = 'acarename'; $field1->label = 'AcareName'; $field1->table = $module->basetable; $field1->column = 'acarename'; $field1->columntype = 'VARCHAR(255)'; $field1->uitype = 2;
$field1->typeofdata = 'V~M'; $block1->addField($field1);
$module->setEntityIdentifier($field1); $field2 = new Vtiger_Field(); $field2->name = 'AcareType'; $field2->label = 'Acare Type'; $field2->columntype = 'VARCHAR(100)'; $field2->uitype = 15; $field2->typeofdata = 'V~O'; $block1->addField($field2);
$field2->setPicklistValues( Array ('法定假日', '客户生日','纪念日','其他') );
$field3 = new Vtiger_Field(); $field3->name = 'Month'; $field3->uitype = 23;
$field3->typeofdata = 'D~M'; $block1->addField($field3); $field4 = new Vtiger_Field(); $field4->name = 'LinkTo'; $field4->label= 'Link To'; $field4->table = 'vtiger_acare'; $field4->column = 'linkto';
$field4->columntype = 'VARCHAR(100)'; $field4->uitype = 10; $field4->typeofdata = 'V~O';
中国最大的论文知识平台www.lwxiezuo.com
$field4->helpinfo = '关联到现有客户'; $block1->addField($field4);
$field4->setRelatedModules(Array('Accounts')); $field5 = new Vtiger_Field(); $field5->name = 'assigned_user_id'; $field5->label = 'Assigned To'; $field5->table = 'vtiger_crmentity'; $field5->column = 'smownerid'; $field5->uitype = 53; $field5->typeofdata = 'V~M'; $block1->addField($field5); $field6 = new Vtiger_Field(); $field6->name = 'CreatedTime'; $field6->label= 'Created Time'; $field6->table = 'vtiger_crmentity'; $field6->column = 'createdtime'; $field6->uitype = 70; $field6->typeofdata = 'T~O'; $field6->displaytype= 2; $block1->addField($field6); $field7 = new Vtiger_Field(); $field7->name = 'ModifiedTime'; $field7->label= 'Modified Time'; $field7->table = 'vtiger_crmentity'; $field7->column = 'modifiedtime'; $field7->uitype = 70; $field7->typeofdata = 'T~O'; $field7->displaytype= 2; $block1->addField($field7); $field8 = new Vtiger_Field(); $field8->name = 'acaredes'; $field8->label = 'AcareDes'; $field8->table = $module->basetable; $field8->column = 'acaredes'; $field8->columntype = 'VARCHAR(255)'; $field8->uitype = 19;
中国最大的论文知识平台www.lwxiezuo.com