网页报价

2013-10-15  本文已影响0人  ruanjianke

Date: 2013-10-12 10:12
tags: javascript
status: public

模块

  1. Utils
    一些基本常用工具方法集
  2. Model
    存放应用的数据,包含order, orderline, lead等相关数据.
  3. Control
    对用户交互的响应,对数据的CURD
  4. View
    主要是创建HTML模版片段, 控制某些的元素的显示与样式
  5. EventHandle
    应用内所有事件的绑定

流程

  1. 初始化
    Control.init()函数完成一些应用的初始化任务, 如: URL参数的解析, 基本的权限控制等, 并在最后调用数据获取.
  2. 数据获取
    Control.getData()函数从服务器端获取应用需要的一些数据
  3. 数据初始化
    Control.initData()函数将步骤2中获取的数据进行初始化, 并以一定的数据结构存储在Model中, Model中数据结构如下:
  4. 数据渲染
    Control.showData()函数将步骤3准备好的ModelView中的模板进行绑定并渲染构成应用主要的表格Table. 并在最后调用Control.toInitEvent()函数处理事件绑定前的权限控制.
  5. 权限控制
    Control.toInitEvent()函数中会调用Control.checkIfLock()先检查此报价单是否被锁单, 如果锁单则调用Control.lockWeb(), 否则直接调用EventHandle.initEvent()进行事件绑定
  6. 事件绑定
    EventHandle.initEvent()函数进行所有事件的绑定. 在此函数中, 事件绑定主要分为二个部分, 即一次性绑定和多次绑定, 前者应用于一些固定的元素, 如按钮/弹框等, 后者应用在行程表格Table中, 每次进行CURD操作后都会从步骤4开始重复流程直到此步骤完成表格中的事件绑定.EventHandle.bindOneOffEvent()此函数负责一次性绑定, 其中还细分中只读限制逻辑, 当报价单需要只读限定时, 传递相应参数以激活此逻辑.

依赖库/框架

  1. jQuery.js, 版本为v1.8.3, github, API, 源码查看

  2. jQuery.easyui.js, 版本为v1.3.3, 官方文档

  3. jquery.ututils.js, 为汇程ERP常用工具库

  4. jPages.js, 实现分页功能, github

  5. jquery.autocomplete.js, 实现城市/用户等的自动完成提示功能. github.
    Note:版本可能不一致.

上一篇下一篇

猜你喜欢

热点阅读