00:00
结账你看他看,假如用户来到这个页面上了,你看吧,用户来到我们这个什么业务的主页面,他就可以做工作了,怎么做,我跟你说,假如他是市场部的人,那他就用这个功能在这里边工作,假如这些我们都做完了,工作工作,假如他是销售部门的人,他就点这些,点这些工作工作是吧,工作过程当中,他他想这样,他又想回到刚才那个main下边那个inex的SP了。那怎么办呢?按理说他应该点这个地方工作台,就是那个什么main引main下边那个引点JSP在这个,他想回到这个首页去,他点这个地方就可能回过去了。那你看咱们现在点这个地方,你看能回去不。回不了是吗?这为啥回不了?因为静海回来的那个。对,因为大家看这是一个,这是一是不是一个超级链接呀,一个菜单,咱们刚才给他家说了,就是一个超级链接,他一点这个超级链接干什么,是不是跳转到某一个页面去了,跳转跳转哪个页面就跳转win下边的JSP引EXJSP他一点这超级链接跳转到这个页面去了,跳转这个页面在哪打开,在工作区中打开,但是这个页面打卡,他这个超级链接他一点的时候,他访问谁了,你知道吗。
01:16
直接跳转JSP能跳转过去吗?跳转不过去,为什么JSP在web iner不能直接跳转,所以这个超级链接他一点的时候直接跳转CSP跳转不过去,那我要想跳转过去怎么办啊。是不是把这个超级链接里边那个URL给他改成谁啊。对,改成刚才写那个ctrler直接就跳转过去了,大家能理解这个意思吧,叫张了,所以大家我们来看这个超级链接,你看看这超级链接在哪呢?在这个业务的主页面,就它左侧有个菜单,你看左侧有个菜单。左侧有个菜单,这是中间这是导航栏,就这菜单,其中第一个菜单大概就这个,就这个A标签,你看吗。
02:06
然后呢,大家看我们说他有个工作台,看看你一点这个地方他去哪了。Hi,去向这个引这个什么main下边引JB了这个JSB,我们说在web in下边从页面上不能直接跳转过去。那干什么让它去向谁给我们这个地方一样,对给我们这个地方一样,用window.open打开是一样,别直接打那个in.JB直接让它去向这个CTRL是不是就可以了,就跳转过去了,那所以大哥我把这个CTRL这个ul ctrl这个URL拷贝过来干什么?来到这个地方,把这个超级链接改一下。这个地方把它改成它就行。当用户一点这个超级链接让他,他就会跳转到这个CTRL,这个CTRL这,然后再跳转那个页面,这样的话就可以打开了,在工作区里边。
03:04
好,这样的话我们就可以了,可完了之后下边我们来启动服务,大家我们一块测一测,知道吧,好所以大家要跟上思路,因为你课下你要自己写嘛,是吧,跟上思路,然后呢,这个地方继续拉。好,这个地方来张三,然后呢,这个地方来个Y f12层点进来来看,一开始当window.open打开,它直接访问开图上,它能能打开吧,然后大你比如说他工作工作工作工作过程当中,他又想回到首页了,你点这个地方你看。这样我就打开了,知道吗,知道吗。所以这是我们说到这这个就可以了,那同样的道理,大家看,假如说我以后做其他的这些功能的时候。我一点现在报404以后我要不想报404看怎么办。
04:04
对,这些每一个菜单是不是都对应一个CTRL了,将来一点去向那个CTRL,通过那个CTRL跳转到相应的页面就行了,所以这是我们说的这个问题我们也解决了,好,这个我们就要给先给他去了啊,继续了,这样的话来看咱们这个业务的主页面就已经写完了,下边我们就可以做关于业务管理的功能了。业务的管理功能啊,我们做哪些,就是上面给咱们以前给大家列过做哪些呢?市场活动给市场部的人用的,线索给销售部门用的,而且给初级销售这个呢,高级销售,高级销售高级销售这是给客服部门人用的,这是给领导层用的,这下边我们就准备来做相应的这些功能了,这些模块里边功了。那我说这些功能再看先做哪一个功能,后做哪一个呢。
05:02
还是那句话,先做被依赖的功能,那哪些哪一个最被依赖的?对市场活动,其实大家我们说这是整个销售的整个销售流程,市场活动是第一个销售环节,后就是越来越高级的销售环节,后边依赖于前面的数据,所以先做市场活动,下边我们就准备来做市场活动相关的功能了。好这些功能,那市场活动相关能大伙下面打开这个项目原型啊,下边我们就准备来做市场活动相关功能,那做市场活动相关功能,那市场活动大家一点开市场活动这个主页面,这一点开一点这个菜单,市场活动主页面在这打开了。那市场活动主页面上面有很多功能,哪些功能?创建功能,修改功能,删除功能,导入功能,导出功能,还有分页查询的功能。那这些这么多的功能,先做哪一个功能,后做哪一个功能。对,先做被依赖的功能是吧,被依赖最被依赖的功能是哪一个?对创建为什么创建,不管修改删除还是查询,是不是得先有数据才能创建,才能做这些?对,先做创建,所以你到工作过程也是这样,先做创建,有数据了,别的才能再进行下去,数据都没有,你没法进行下去,所以下边我们准备来做创建市场工作啊。
06:22
然后呢,这个地方第三个可以个大做创建市场活动啊创建市场活,那创建市场活动呢,那还是那样,还是这样做任何一个功能,我们说都是先分析需求,看到底要做成什么样子,然后我们再做,知道吧,好,那我说下边分析需求,这个需求先给大家简单介绍一下,知道吧,那要创建市场活动,首先点市场活动登录成功之后来到这个什么这个业务主页面了,我要想创建市场活动,点市场活动菜刀。然后一点它在工作区中打开市场活动的主页面,然后呢,用户在市场活动主页面上面,他想创建市场活动点创建按钮,然后一点创建按钮,大家看弹出来一个创建的这个窗口,这个窗口叫模态窗口,一会儿我给大家解释一下什么叫模态窗口,因为这种窗口是我们以后用的比较多的。
07:15
啊,这模态窗口,这个模态窗口上面有个表单,专门创建市场文的这表单,那这个表单我就不多说了,那将来用户肯定是吧,在这儿填填了这些数据将来都插入到数据库那个那个市场活动那个表里,那用户填填完之后一点保存好向后台发起流了,那把这些数据都发到后台,后台保存到市场活动那个表里边。那保存成功了,这个地方关了,关了之后呢,下边应该刷出来,刷这个列表,刚刚创建这条记录就能够刷出来。如果按时间排序的话,他应该选择第一条记录,这样用户就看到刚刚创建这一条记录了,知道吗?好,但但是这个地方假如说一点保存,保存失败了呢,保存失败了,那这个地方这个就别关了,下边也别刷了,还停留在这个页面上面提示他保存失败就行了,用户想看看哪个地方填错了,所以他想看一看。
08:12
所以那这个只给他提示就行了,所以这是我们说他大概这个需求,这个流程,我们就准备这么来做,就做成这么一个需求,好,这是我们说到这样,那他这个需求大家有个大概了解之后呢,当然我说的肯定是不详细,我们真正要做的依据在需求文档上面,需求文档上面大家它有一些特他有一些这个他描述的更清楚,那我们一块儿来读一读需求文档,你以后做的话也是先读需求文档。他这个需求哪个市场,他说创建市场活动创建的时候怎么创建,他说用户首先来到市场活动主页面一点,那他这来到市场活主页面,在市场活动主页面上面点创建按钮,弹出创建市场活动的模特妆容。然后呢,用户在创建市场文的模态窗口填写表单,一点保存按钮,完成创建市场文的功能,这跟刚才我说那个流程基本上是一样的,好,下边他有一些特殊要求,他说这样,他说所有者,这个创建市场活动的有个所有者。
09:14
所有者是动态的什么意思?是这样说,创建市场活动的时候,这个地方来看下拉列表,这个所有者是个下拉列表。说将来这条市场活动创建完了之后,有哪一个人负责实施,去必须指定一个人,指定谁,这个地方下拉列表,下拉列表里边应该是所有的这个公司里边这所有的这些,假如说这这就这些员工,那这员要指定一个人去负责实施,指定谁选用谁就行了,他说这个下拉列表里边这些人是动态的,动态的什么意思,就不能写死到页面里边。那老师为什么不能写字格,但如果写死到页面里边。那将来万一这个公司里边人员去发生了变动了,那这会你要写子页面,你这个页面得改,万一这个项目一上线了,程序员都撤了,谁给你改?
10:03
所以这些数据不能直接写死在页面里边,那不能写死在页面里边怎么办?都是从数据库里边查出来的,对数据网查出来,万一这个什么公司里边人员一变动,数据库里边数据肯定变了,张老一查,都是查了最新的数据,所以这里边儿数据应该从数字里边查出来,而不能直接写死在页面里。这是他这种需求。这是他的需求,看到吗,这张。都是从数据库上查出来,看一下。然后呢,这个地方我们先跟他说,这下边我们继续拉大卡,这是他一个特殊要求,还有一个他说创建市场活动的时候,所有者和名称不能为空,就是这个地方带星号的不能为空,就你点保存它俩不能为空,如果他俩为空的话,一点保存不让点,请求都不让发,因为你发请求创建一个市场活动,没有谁负责实施名字或者是空的。那保存也没意义,所以请求都不让放,知道吗?所以这个地方我们将来做前端,前台做一些验证,这俩如果为空,不让提交请求都不让,直接在前台提示拦截就行了,好,这是我们这个还有大纲,他说如果开始日期和结束日期不为空,则结束日期不能比开始日期小,什么意思?是啊说创建市场活动的时候。
11:22
用户这个地方要让他输入一个开始日期和结束日期,开始日期说这条市场表示的含义就是说这一条市场活动什么时间开始实施,到什么时间结束这场活动。说这俩日期有可能是空的,它不是必填的,是空的无所谓了,只要有一个是空的,就不用再比对,就不用在表单验证,不用再验证这俩日期了。那假如说这俩日期都不为空,必须符合常理,什么符合常理?结束日期不能比他,不能比他小,那如果比他小的话,那这个人就没意义了,不符合常理了,呃,这什么意思,就是说结束日期先结束后实施后开始,所以显然不符合常理,所以你将来做点保存的时候,做表单验证,如果不符合常理,它小的话,那这时候不让提交,提交了后台这种市场活动也没意义,除了加重后台的负担,所以这个地方我们说。
12:19
这个地方我们将来要做的时候要做验证,这是他这种需求,还有大家看这个成本只能是非负整数,哪个地方是这个这个字段,这个字段说这条市场活动大概投入多少钱,成本是多少,说这个地方,那你要填一个钱数,这个钱我们填的时候你不能随便填。所以知么,你不能填中文或者填字母,他这个地方,他说只能是非负整数,你也不能写小数,你也不能写负数,知道吗?你说举办活动别人给你钱,那这是不可能,那小数也不行,这是他的要求,要为什么小数你说多少钱不就对几几块几分的,这不也行吗?他说不是啊,他说他们公司里边是都是大公司,知道大型的金融贸易公司,他说他们这成本都是以万为单位,知道吗?就多少多少万这些金融。
13:11
他什么几几块几毛的这么说,他他他怎么都不记这些,所以这个地方他只能让你填非负整数,那么将来用户如果填的时候填成小数。或者填充什么这个负数,这个时候点保存不让点。这都是要求啊,所以我们在做的时候,这些都要满足他的要求,好,这是我们说他这种特殊需求,好下边他又又说了,他说创建成功之后关闭摩擦窗口,就如果创建成功了,把这个窗口关了,然后呢,刷新下边这个列表。刚刚创建这一条就应该显示出来了,第一条知道吗?再一个呢,我们说这个如果创建失败了,提示信息模态窗口不关闭,列表也不刷新。所以这是我们说的,这只提示一下就行了,这是他这个需求,好这个需求呢,我们就给大家简单分析到这儿,大家知道做成什么样子,下边我们来看看到底怎么去做。
14:05
好,下面我们一块儿来。
我来说两句