00:02
好,咱们来看啊,这个阶段类型和来源啊,还得来自于咱们这个。谁说?往下翻啊阶段。有可能我有那种感觉是因为,因为我是讲课嘛,对不对,听课的当然是希望,哎呀这一天知识点这个终于听完了是吧,有点那种感觉是吧。Item,来个VR,好,来这个咱们首先来的是。阶段是吧,S stage。List,好,We are,随便来了S行吧,啊,这里边的S点。啊,来个。S点。啊。类型。
01:02
这个类型啊,咱们翻一翻。交易类型啊,Transaction。来吧。T。T。好,来源。来源source,对吧。来个再来个S啊。行,来观察一下啊。创建阶段,从我们零一列到零九来看,这肯定是从这个数据字点从哪呢?对不对啊,类型来源啊都有了,OK吧,好,我们先把这个简单容易的先给处理了啊,那首先呢,是咱们这个预计成交日期以及下次联系时间啊,我们来观察一下这个交易表。
02:14
预计成交日期啊,十位年月日对吧,下次联系时间是不是也是十位啊啊这俩东西啊,但是大家注意看它们所处的这个位置啊,我点一下它,我们这个日历控件是应该往下显示。但是呢,你点下次联系时间,很明显这个日历控件应该是向上显示,所以说这个东西咱们是不是应该写两套啊,一套是往下显示的,一套是往上显示的啊。来还得使用到咱们那个TEST1GSP啊,日历的这个控件啊,OK吧。哦。嗯。
03:06
啊,我们来一个给来两个,来个time一来个泰马尔可以吧,同学们。啊,TIME1是。这个这这这个咱们来一个top行吗?Top啊行啊,我们来。嗯。预计成交日期,咱们来一个time一行吧,下次联系时间我们来一个TIME2号。试一下啊。点好事。点好使吧,没问题啊,然后呢,我们这个市场活动员和联系人名称这俩东西啊,咱们暂时先给写4OK吧,好,市场和动员找一找啊。在这儿呢,啊在这儿呢,市场活动员,这里边儿咱们填一个这个Y6啊。
04:03
市场活动填一个真实的啊。啊,比如说是发传单一啊什么。7CC这条OK吗?我先把这个发出一给贴过来。但是我现在只有这个发出的意义是不行啊,同学们还记得咱们这个交易的规则,你看看啊,是不只有他是不行啊。你要提交的是市场活动的名字吗?咱们要保存的是不是ID啊,对不对,所以说啊,在下边儿啊,我们得来一个。Input type,我们来一个hidden对不对?好这个value啊,咱们得来一个对应这个发传单一的这个是17CC的这条,对吧。OK吧,然后联系人名称啊,联系人名称这个来一个啊联系人我记得咱们就一条吧,今天上午咱们转换了一个马云是吧。
05:10
那就马云吧。行,这个咱们再来一个啊,再来一个。马云对应的这个ID是我看看啊。111C。行了搞定啊好,那大家注意看啊,我们现在啊啊。市场活动员和联系人名称啊,发传单以以及马云,这肯定是我根据之前的这种操作,通过点击它提交上来的,是这样吗?好,那么请注意的是,这个发射单和马云呢,就是在你选中完这条结果之后给用户去查看的,OK吧,那么真正我们一会儿点击保存做的这个交易啊,提交的可不是发传单一和马云呢,咱们提交的是什么呢?是不是在下边儿隐藏域有一个市场活动ID,这个下边有一个隐藏域有一个这个联系人的ID,咱们提交的是这两个ID,是这样吗?好,这个需要注意了啊好,接下来啊,我们完善一下这个客户名称的这个自动补全啊,这个自动补全啊很容易理解啊,比如说我们来一个什么呢?
06:29
那个。客户名称来一个。啊,然后下面给你列出来一大堆什么呢。他也不仅仅只是这个阿里巴巴啊与啊相关的所有的这个客户都被我模糊查询到了,在下边都列出来了,OK吧,好。就就比如说我们那个百度是不是就是一个那个自动补全呢,对不对,你总不能说你列一个录,它全是鹿晗吧,对不对。
07:00
看看。我就不信了。你看下面是不是还有还有别的别别的词条呢,对不对。别的词条啊,好,来个必杀技啊。这没悬念,第一条肯定是他是吧?好哎,这叫自动补全,但是大家注意看啊,我们这个这种这个自动补全这种机制啊,其实从这个后台来讲的话,很容易理解,根据我们一个关键字进行一个这个模糊的这个查询就可以了,对不对?我们这种模糊查询可以分成两种形式,一种形式什么呢?只要包含这个文字就可以,还有一种就是类似于百度这种,就是以你的这个文字干嘛开头,是这样吗?那如果是以以你的这个文字开头的话,咱们是不是把这个文字给列成后边是一个这个百分号就行了,对不对,那如果啊是包含它就行,咱们是不是两边都得有这个百分号啊,都可以啊,我们现在做的这个自动补全啊,来这个是两个百分号的啊,只要包含它就行了,当然你你也可以自己改,OK吧,你可以把自己当做客户自己改需求啊好。
08:13
那么对于这个自动补全来讲啊,从后台这个查询呢,就是一个这个模后查啊,但是呢,你看看对于这个百度的这个。啊,自动补全啊,你看看同学们。哎,是不是相当于哎,它的整体的这个样式,这个风格,是不是跟我们百度这个搜索整体的这个页面是很贴合的,是这样吗?所以说啊,对于这个后端来讲啊,很简单,但是对于前端的展现来讲的话,它肯定不是我们的强项对不对,它不是说强项不强项的问题了,咱们这种动画根本就干嘛呢,不是我们的这个啊技能范围之内对不对,这玩意武功没学过呀,对吧,你你你让那个张无忌是厉害对不对,但是啊,你要让让他打那个周芷若那张什么牌来呢?就灭绝师太的那个武功,他也不会对不对,所以说啊,这个前后端的这这个东西啊啊,咱们主要负责后端这个前端这个东西啊,肯定交给谁呢,交给这个插件去完善,能理解吧,我们现在这个boowap啊,就跟我们以前那个日历控件和那个分页组件一样,对吧?啊,给我们提供了很精美的这个前端的这个样式的表现。
09:27
但是后台呢,肯定还是由我们自己来写,OK吧,好。那对于我们的。这个boottop中的这个自动补全啊,我们来看一看这个插件叫做啊type了啊,这个东西咱们直接粘过来用就行了啊。Type ahead,这个是相对来讲比较简单的一个插件啊,里边咱们粘一下。
10:02
OKOK完之后这个东西啊。哎,这这这个这个是真得刷一下啊,真的是欠刷啊,我提前我先给他刷了啊好吧。刷一下下边走条耐心等一下啊,走两条OK。好,走完之后呢,咱们现在来引一下啊,引一下引差价,咱们是不是都是往下写啊,对吧?啊往下写啊,找一找啊咱们这个。自动补全啊啊,这里边儿还得自己引呢,好麻烦呢。是。对吧,咱们来。呃,这个type,哎,这type其实都不用来是吧。啊,他都不用来来了啊,无所谓这个啊,咱们来一个什么呢?Src加。
11:06
扣一下呢,对不对,好这个东西大家注意啊,它有些时候给你提示,有些时候不给你提示,这个东西咱们还反过来啊,它有些时候不给你提示啊,看看这个咱们有没有啊。没有,算了,转过来。解扣下的,咱们刚才粘的是这个对吧。啊。它下边呢,就一个这个JS啊,就一个JS。想引过来就行了。好,对于它的这个用法啊,啊,非常的这个简单啊,这个代码我先粘一下这个代码啊,大家注意看啊,是不是又遇到了与插件相关的一个代码,这种代码用不用背呢?不用背啊,这个方法是老师写的,不不是谁写的,是不是他写的我们刚才导入的这个JS控件险了,对不对,好,我们现在啊是在这个客户这块啊,要需要来一个这个自动补全啊,所以说呢啊,我们现在来一个create customer name,我们下边啊,你给它起一下这个名字,客户名称啊。
12:17
好,咱们来一个啊customer name可以吧,好,我要为这个文本框执行一个自动补全的操作,调一个点这个type,好呃,咱们这个source啊,Source function,这很明显是一个这个回调函数,对不对,这个函数啊,大家注意啊,是在我们填写了什么呢?填写了某一个这个文字之后触发的这个函数,OK吧,每一次我填完之后,咱们是不是都得拿到这个文字关键字到我们这个后台去进行查询呢?对不对,好。来啊,下边是什么?这很明显是一个阿贾克斯啊,这种形式是好久没用过了。我们这个阶段一直是到了点阿贾克斯的形式,对吧?啊,官网上给我提供的是一种什么呢?这个post啊,我就直接上过来了,嗯,咱们既然是曲子是应该是一个get啊,我就不改成这个Dollar阿贾克斯了啊行,我们现在发出一个这个请求啊,这个请求比如说我们现在就叫这个get customer name行吧?啊,这我就不改了啊,这个name cur是什么意思呢?你是不是得给得给这个后台传一个什么呀。
13:26
你是得传一个你刚才填写的这个客户的这个名称啊。否则的话,我补谁去啊,我查谁我都不知道啊,对不对,好。这个扣啊,不用咱们管啊,直接传过去。这个回调函数,这个data就是我们从后台查询得到的这个数据啊。先分析一下这个data啊,这个data它应该是一个什么,这个分析明白了,这道题就做完了啊。嗯,这个应该是一个数组啊,我们要查的肯定是客户这张表对不对。
14:02
客户一客户二客户三行不行,同学们。大家注意啊,我们现在拿到了这个data数据之后,咱们把这个数据啊,同样是要给这个插件的这个process方法,也就是说用我们的这个数据去通过这个方法去填充,咱们这个自动补全能理解吧,好,所以说呢,我们是不是得让前端的这个控件去认识我们这个数据啊。他能认识咱们设计的这个客户表吗?他要是能识别这个,那他老厉害了。是这样吗?也就是说大家注意看啊,注意看这个客户是不是我们处理的这个对象,是我们自己设计的这个表表结构啊,你把这个客户这个信息啊,当做参数传递到人家控件的这个方法时候,人家能识别吗?识别不了啊,那这次这个那真成这个神控件了,那不可能啊,对不对,我知道你表结构是什么呀,对不对,好,但是它能识别的是什么呢。
15:10
是字符串啊,也就是说咱们一会儿往下列的列出来的,其实都是什么呢?字符串对不对,其实它是什么呢?客户。名称,这是不是一个一条一条的string啊,如果string的话,它会识别的,OK吧,很简单啊啊,只不过啊这个到了有点get,有点陌生了而已,对不对。这个delay啊,指的是什么呢?啊,咱们这个加载的这个时间啊,延迟加载的时间过了1.5秒之后,咱们把这个动画给它列出来,把结果列出来OK吧,当然你也可以给他调的这个稍微小一点也行,这个无所谓,OK吧,但是也不要太小了啊,行,我们现在走一把这个后台啊。
16:00
你你这个时间呢,给人家一个去查数据的这么一个时间,对不对啊。嗯,这个方法get customer name啊,既然都这么写了,咱们就用它了啊。好,现在咱们这个请求啊,接受请求的这个目的是什么呢?要取得什么客户名称。列表吧,可不是客户列表,是客户名称列表,对不对,是按照什么呢?按照这个啊客户的名称进行什么呢?模糊查询OK吗?好。嗯,这块咱们没有参数是吧。没参数,诶有参数啊,哎,这个人家直接叫一个这个name对不对,根据这个name咱们得模糊查嘛,啊死性咱们来一个。
17:08
Name request.get parameter,咱们来一个name,好,那大家现在思考这个问题,我现在是不是根据客户的这个名字啊,去进行模糊查询名字的列表啊,这是属于谁的业务,是不是客户的业务啊?客户这一模块的业务对不对,但是客户这一模块的业务咱们是不是没写呀。对吧,所以说在这儿啊,咱们是不是还得把这个客户的这个业务给他搭建起来,是这样吗。好得搭一个这个service啊。啊,咱们应该来什么?To customer service customer,啊,好,Ipl。
18:03
来一个实现类。Customer service I'。PL implement customer。Service是这个吧,好,我们把这个do啊给它列上来一个。DO。等于CIRC u get get map。Customer DAO对吧?哎,这个点得点class啊,行行了啊好,接下来啊,咱们来引一下这个customer service。Service factory啊,咱们来溜出来一个customer service n。
19:07
啊,进行个强砖啊。
我来说两句