00:00
然后呢,大家能让我们来画这个流程,画这个流程,这样用户在浏览器当中看到这个什么线索转换页面之后,继续来画这个流程,然后呢,用户点击如果需要创建交易,他就点开这个交易表单了,然后呢,别的什么输入别的表单,这些数据我就不写了,当用户嘛,指定市场活动源的时候,点这个市场活动源的搜索按钮,我们从这个地方开始画。这来个用户,从这开始画这个流程,然用户然后呢,点击点击什么,点击市场活动员,市场活动员,嗯。市场活动员,他这个搜索按钮,搜索按钮一点搜索按钮,大家看是不是要弹这个摩擦窗口了啊对,弹这个搜索市场活动的摩擦窗口这个地方来弹出来,这是一个流程,然后呢,然后弹出搜索啊,搜索市场活动的模态窗口,模态窗口他一弹出来这个窗口当然了,知道知道吧,那用下一步怎么办呢?那用户就要搜市场活动了,怎么搜,用户输入搜索条件,这都是在客户端发生的,所以我们这段继续来画出图,用户输入搜索条件,用户输入搜索条件,然后输入搜索呢,每次键盘弹起就应该发起图,跟我们以前说线索关联市场工作类似,就每次键盘弹起,每次键盘弹。
01:39
棋啊弹棋,这个时候大家看是不是就要向后台发请求了,因要搜索市场红市场活动这些什么,这些市场活都在后台存着的数据库里边存着,所以你要是查他们就要向后台发起了,那像后台发起,后台要有CTRL处理了,然后呢,这个地方来个CTRL处理,下一个又来一个环节,这个是个ctrller,那这个CTRL是哪一个做线索关联市场活动功能。
02:09
那它处理资源路径将来响应信息还是返回到这个线索转换页面,那线索转换时它对应资源目录还是线索那个资源目录?我们说每一个资源目录对应一个control。那我们这个地方资源目录还是什么线索资源目录,那这个地方这个CTRL还是在线索CTRL基础中加方法就行,不用新关键CTRL,所以这个地方来一个叫可controller,在这里加一个方法。这个方法干什么?就是去搜索市场活动,去根据名称搜索市场空知道吗?所以那这个地方我们来搜索市活动,每次键盘弹起去搜索市场活动为当前线索。我就为这个交易搜索一个市场工作员去去搜索,发一个搜索的请求,向这个KRL,每次键盘上你发一个搜索请求,搜索请求。
03:06
这时我们这样,那这个请求大家可以想一想,是同步的还是异步的。对,是不是还是异步的,对不跳转页面返回响应信息,还是显示到这个列表里边,你知道吧,所以这个地方来个异步请求,异步请求需要提交什么参数。啊E不行,需要地方啊,对这个什么,这个输入关键字是不是得提交后台,对这个关键字叫市场活动名字是吧,这都艾名字叫市场活,除了他之外还需要什么。线索对线索ID,因你光顾什么搜索,根据名称名,名称里边含有关键字给搜索出来,是不是这个地方搜索来一定是谁呀,一定是从这里边去找,是当前这个线索参加过的那些市场活动,是不是这意思,得这样才行,他参加过的市场活动,他如果真都没参加过,他不可能什么说啊,参加过这个市场活动之后,来决定购买这笔交易,所以一定是他以前参加过的市场活动。
04:12
所以不但要符合名字里边含有关键字,而且要是当前线索关联过的市场活动,所以还还要什么去根据关联过的市场中这个条件去搜,那关联过跟哪一个线索,跟当前线索关联过的市场中是不是我们到第三者是吧,将来去查就行了,知道吧,根据什么去查,是不是就当前这个线索的ID啊,对当前线索ID他就能查到这个什么线索关联过了市场温度了,就这个意思。好,这样的话,大看把他俩提到后台就行了,然后呢,提交过来这个CTRL接到请求之后三个职责,第一个职责我们说接收请有参数获取参数,获取参数。然后呢,获取到之后,两个参数最好封装一下,封装参数知道吧,然后呢,这个地方大叫封装参数,那封装参数封成什么,对那封装什么,你看啊,这俩这俩参数是属于一个实体的对象吗?对不是不是你想封装实体对象,是不是也封装不了啊,所以是个什么外封外,再一个我们说它俩封装好了之后,将来传给S传给外边换so去,是作为搜索条件的,就查询条件封了卖说卖。
05:26
封装好了之后,他的第一个职责就完成了,把请求接收到,并且把参数去拿到,然后呢,都封装好了,下边第第二个职责处理业务,处理业务就是处理数据了,处理什么数据就是去查询,根据名称查询知道根据名称模糊查询市场活动,去把名字里边含有关键字的市场活动全查了,而且去查询那些什么给指定的可录ID关联过的市场活动,是不是这个意思啊,知道吗?所以那他也去查了,那他查他这个ctrler不能直接查就sorry。调service,然后呢这个service来一个这个service,然后呢这个service,那调谁的service,查市场活动,肯定调市场活动service,艾特service知道吧,然后呢,大家看调过来这个service,那在这个service里加一个方法,这个方法是干什么?就是根据名称模糊查询市场活动,并且查询那些跟可录ID关联过的市场活动,那这个方法名我就直接写了query activityiv,那在什么这个地方显示的时候,查的时候查这些字段,关联字段也要查名字,所以我们这个地方也叫for。
06:39
for.q知道吗?BY根据什么去查名称模糊查询,还根据什么去查可录ID查询那些跟这个线索关联过的时候,就不但名字中含有关键字,而且查询那些跟这个线索关联过的候,它这个方法知吧,里边传的参数,这个参数什么map诶这个方法名是不是已经用过了?
07:08
根据名称模糊查询。市场中。By name和可罗地这个方法已经用过了,在什么时候用呢?对not in的时线索关联市场活动,是不是也是根据名称搜索市场活动,并且根据可录ID去干什么?对,排除一些什么,已经关联过的市场是排除那些,对这个呢,也是根据名称某物产品,但是他查询的是根据可乐外地干什么?对,就是找那些关联过的,以前是排除关联过的,现在是找关联过的。但是这个方法名是完全一样的,你看吧,但是它是两个方法是吧,目的不一样,那所以说大家这个方法名就重重名了,你看那重名了怎么办呢。对,他俩都属于一个service方法,所以一个service类,那一个service里边两个重名的,那怎么呢,给它改一改,那这个方法名叫什么呢。
08:05
别叫他了,叫什么?随便叫了是吧,那么这个地就别for,就这样吧,对for什么品味,嗯,这样。对,这样就行了是吧。就为了转换,为了线索转换涉及的这个方法知所以呢,你现在我们说我们写的这些代码越来越多了,是吧,有的时候这些类名或者方法名有可能就重名了吧,所以你要设计了,你要做一些设计,所以现在这些代码还还不算多,知所你所以你到公司里边呢,你看那些代码知那看看他代码更多是吧,就像咱们刚才,刚才跟大家说,有的学生已经工作了是吧,已经工作了过来来问问题的,把他们公司代码拿过来了,我一看他们代码这会。这边这些种一一排全部都是一个一个工程,每一个工程下边全部这些人,一个一个类,每一个工程都好几十个类哦,甚至少甚至更多,我还没看,没看全这。
09:07
他那些类太多了,他都是他们以前他那成序员写的知道吗?所以大家你说这成序员跟我说天天写这些类太多了,所以你要什么这些类名,你命名的时候。你必须按照规则命名,要不然的话很容易就重了,但你看咱们这个按照规则命名还不可避名,还有重复的这种现象,知道吧,所以你要说不按规则命名就太难了,知道吧,所以这所以大家要养成这种习惯,你写累的时候见明之意就找了。这样要不然到你到以后开发的时候,你写着写着给别人充了,写着写着给别人充了,明白吗?现在我们自己写还充了,就是我们说到这样啊好,那那这样的话,这个方法我们就设计好了,那设计好根据名称模糊查询市场活动知吧,并且查询那些根这个什么,给当前这诶给当前这个线索啊关联过的市场知道吧,然后呢,他调这个,这个调到这service service,那就通过这访问数据库,然后去查数据了,但他不能直接查它调map,让他这个调map,调市场活动的map map。
10:15
然后拿这个就往了。你知道吗?然后呢,大家看这个地方来调过来,这个地方来调过,在它里边加一个方法,这个方法也是select叫,然后呢for convert,然后呢by name和CID,然后呢,这里边传个参数是个麦,知道吗?然后呢,到我们这个地方来,继续来这。太长了。然后呢,继续拉,然后呢,在这个map里边就可以通过MY去访问数据库,执行搜出去了。然后呢,这个是执行SQL语句circleq语句啊,然后呢,这个地方来查询市场活动。
11:02
查询是网络,然后查询完了之后把查询结果往外放。知道往外发,那这个地方根据名称模糊查询市场活动,那有可能查询多条,每一条市场活动封装一个实界对象,多个市场活动对list,然后把这个list的往回发,嗯,他每次键盘一弹起,都是去查所有名字里边含有关键字的商目,并且跟当前线索关联过的文是啊。那查完了之后,根据查询结果生成相应信息,然后呢,这个是根据查询结果,然后呢生成响应信息,相应然后把响应信息访问到前台。发过来过去。然后呢,继续拉,你放我进来。这个地方来,它那这个是个响应啊,那这个响应信息是个什么样的信息。
12:04
前面发异步请求是不是这个杰森,对杰森里边是什么。对杰森里边是什么?大哥是不是就那个list list转成杰森字符串就行,那list转杰森字就这对数独,数独里边是一个一个的对象,对象里边就是对一个对象就是市场活动对象ID有市场活动的名字什么开始日期,结束日期,所有者都能这样知道吗?这些属性我就不写了,然后到底有几个元素,那你查出来几个市场活动,然后呢,你有几个知道吧。然后呢,这个地方啊,然后呢,这些有几个元素,我们就直接这么写。然后呢,把这个阶森走串往回放,那往返那这个什么前台,那应该返回到阿贾克斯的回调函数里边,把这个阶层那阿贾克斯回调函数拿到它之后解析解散,然后呢渲染的页面。
13:04
这样的话呢,我们这个流程这个线索市场,就市场活动员可搜索的这个功能,我们就给大家知道,我们这个流程就涉及到这知道吧。好,这是这样就能他每次见到太奇,然后呢,能够什么查出来,查出来之后,那前台什么渲染页面,就是把这个网查出来,那个历史啊,然后便利着每变出来一条,然后在显示一行就行,这样用户就看见了,用户看见之后他就可以选一个了,就。一选一个拿到名字和ID显示到相应的位置就行了,这是它的可搜索了,好这时候我们这样呢,我们这个就可以了,那这样的话呢,这个流程我就设计,设计好之后下边编码实验了,编码实验从底层上写,先写这个map,在市场活动的map里边加一个方法,这个方法就是根据名称模糊查询市场活动,并且查在那些是跟指定的可录ID关联过的市场活动,知道吗?所以下边我们来写这个方法,然后呢,在市场活动的map加上号市场活动map轴市场活动的map。
14:14
对,这个地方市场活动方法在这里边再加一个方法,然后呢,我们这个地方来方法我们都已经设计好了,范位置list list里边是一个一个的市场活动对象,然后呢在这边写查询到selectiv for,然呢convert为了线索转换而设计这个方法,然后呢,By name啊和C录ID,然后呢在这里边传个参数,这个参数是个map map里边肯定有关键字和线索的ID,然后呢,这个是map,然后呢这个地方来给大家写个注释。这个注释就这根据内幕叫模糊查询市场活动,模糊查询市场活动。
15:04
那然后呢,并且并且查询那些跟什么跟可录ID,跟可录ID已经关联过的,查询的都在关联过的,然后呢,市场活动知道吧。这样的话,咱们这个方法就定义好了,方法定义好了,下边写搜数句,在映射文件里边加个搜数句,看着再加个搜数句。那这个搜索句查询的搜索句写select,然后呢,这个地方记出来ID要和放名一样,然后呢把它拷贝过来,然后呢放到我们这来啊,参数per type是一个map,那我们就写个map,结果result map,因为我们将来每一条记录以实体类对象的形式往回反,那伟大map,然后呢,在这里边写我们错误句行了。那查询的搜出句select,然后呢,From从哪个表里查,查询对市场活动,从市场活动表里查,查询他的哪些字段,那你看前台需要哪些字段,前台需要哪些字段,我们将来查的时候,对是想到这个列表里边他需要哪些字段。
16:19
对一点,它是不是要获取这条市场中的ID啊,对,还有谁啊,名称开始日期,结束日期,所有者。这五个字段,而且有一个关联字段,所有者是不是得查名字,得查名五个字段关联字段查名字就行,那就查吧,那这个地方不可避免要进连接查询起边名知道吗?然后呢,这个地方插那五个字段就行了,首先a.ID对A点这个什么内,还有A点到的data,还有a.N的data,还有一个所有者关联查询,内连接外连接对内连接来个U和U连接条件啊a.o等于u.ID然后这样的话我就可以调u.name放到哪个字段里边,O字段,这样的话我就把前台那个列表里边所需的字段都查出了下边查询条件Y根据什么去查内模糊查询知道吗?Like,然后呢,这个地方来个百分号,然后呢来取那个。
17:28
那name就叫activity name,这样就行了,然后呢,下边继续了空格版上号,这是查询那些名字里边含有关键字的市场活动是不是还有一个要什么,再加一个条件要插对按。不但名字里边还有关键字,还要要求什么,对那些已经什么关联过的时候,并且查询到的这些结果,他们必须什么已经跟那个指定的可录D关联过了,是不是这吗?那关联过了,根据什么去判断它是不是关联过了?
18:04
对,是不是根据那个ID啊,ID的ID根据几个ID啊。已经关联过,是不是有可能多个多个呢,就印,然后这后边呢,是不是列出了已经跟那个CID关联过的市场文的ID都列出来就行了。那这些ID从哪儿取,我怎么知道哪些关联过了,对是不是到第三关联里边去查了,对,查那些已经关联过的市场活动ID就行,在这里边写个子查询知道吗?其实这个骚帚句,你看完大哥给我们以前写哪个骚帚句,这个骚帚句是不是非常类似,对。以前也是查询这五个字段,根据名称模糊查询,以前是排除是查询,不但符合条件,而且要求ID不在已经关联过的市场活动里边,现在呢?
19:02
对,是在里边,那就不用带这个note了,是不是这个意思,其实其实是完全一样的,你知道吧,所以就这样在这里边写一个什么自差原因了。那子查询去查询那些跟可录ID关联过的市场活动ID,那就select子查询from,从第三张表查哪个第三种来一个,这可录叫什么?Activity,对relation这个表查它的哪个字段,Activity ID字段。查哪些active ID,对,根据可录ID,这个可录ID等于传过来那个map里边有个可录ID啊。所以跟这个几乎完全一样,但是正正好就是相反,它是note印,它是一查询那些就是跟这个线索关联过的ID,如果不在里边没关联过,即使符合条件也不会查不多知道吗。
20:04
这是我们按这个serve运行了这个serve运行了这个map我们就行了。这个map增项了,我们这个下边就要写这service了,在市场活动的service加一个方法,这个方法也是根据名称模糊查询市场活动,并且查询那些跟这个可录外D关联过的市场活动。知好,下面我们来写这个service,然后呢来写这个service,然后呢在市场活动的service里边加成市场活动service,继续了市场活service在这里边加。然后呢,这个方来一个范围值Le Le里边是一个一个的市场活动实际对象,然后呢,在这时候来一个叫query,这都是设计好的activity,然后呢,For convert,然后呢by name和CID,这在这边传了一个map,这个map来一个string和all接口,然后呢这个是map。
21:02
正行了,好,方法定义好了,在它实间类里边也得加这个方法这个,然后呢,加过来这个方法按一个auto insert,然后呢,Implement method。好,Service层方法的实现,调map,所以我们就把map调了好呗,调完调哪一个方法,咱们刚刚写的那个方法,来一个叫select activity for。Activity for convert这个方法,哎,Activity for convert就这个,然后呢,By name和可罗ID把这个麦补充了,这样的话,这个service层也行了。然后呢,大家那这个service层写完呢,下边就要写这个CRL层,然后呢,在线索的CR里边加一个方法,那这个方法是干什?就是根据名称模糊查询市场活动,并且查询那些跟可外地关联过的市场活动,知道吧,所以在这control边加一个方法,在线索controller,线索controller在这里边再加油。
22:10
然后呢,我们这个地方加过来一个,然后呢,这个地方来一个public返回值什么类型的所OB因为返回杰森走串。为什么反问接的时候一步请求啊,知道吗?然后呢,在这时提供一方法,那这个方法来个que叫for convert,然后呢,By name和CID是,然后呢这个地方来,然后呢这里边来一个request map,然后呢这个地方来给它分配一个UR,那这个URL我要和他处理资源路径某它处理资源路径我们说了它的响应信息,将来还是回到线索转换页面。那线索转换这个UR和线索转换页面的资源路径保留一致,线索转换页面的资源路径是不是还是什么沃克奔驰下边什么可录,然后下边资源名称我们要和方苗保持一致,然后呢要都转。
23:12
然后呢,大家将来它返回一个阶层逗号这个地方加一个responsibility。然后在这里边定义型仓来接收前置双参数,那这个型仓就是name叫activity name和可录ID,那来定义吧,这个地方来一个string叫activity activityiv name,再来一个string,来一个ID啊。那这样的话的话,我们现在已经拿到这儿来了,接收到请求了,参数已能拿到了,下边把这些参数封装起来,封装一个map里边就行了,所以我们这个地方记住来封装参数,封装参数分成是map,这个地方来个map,然后呢,这个地方来个string啊object,然后呢,这个地方来个map,等于new一个哈希map,这样就行,然后把参数往里边放就行了,那就放个map.put然后呢,这个地方来一个activity内,这样把这个参数放里边,然后呢,这是参数设入啊,然后呢map点铺,然后呢把我们可录ID往里边放。
24:24
然后呢,这个地方放里边就行了,这样啊。然后呢,大家那这样的话,我们这参数就封装好了,封装好了,那封装的时候大家注意这些K要和你SQ语句里边获取参数的这些可以保持一致,知道吧,这样就行了,这样的话参数封装好了,参数封装好了,现在已经来到这一步了。来到这一步之后,下边调用所有方法来去查询市场活动,下边我们继续来调用。Service从双方来查询市场活动,好,那调市场活动,那么查市场活动,调市场活动service activity service调查哪一个方法,咱们刚刚写的个说法叫activity for by name和可D,然后呢,把这个什么map传过去就行了,知道了,然后他得到一个list list里边是一个一个的市场活动是提的对象,然后这个地方来一个activity例。
25:28
这样的话,大概我们这个什么方法,这个是这个什么市场活动就查出来了,查出来之后现在已经来到这了。下边根据查询结果生成详细生成什么详细就这一个阶层。那生成这个阶段怎么生成,直接把这个离子返回就行。它会自动转换成我们所需要的结算图块,所以我们这个地方记住了,根据查询结果,然后呢返回响应信息,然后呢直接return,前面加上每次方的包,自动转成阶段自串。
26:10
这样的话,当然我们这个ctrler就行了,CT行了,这一个流程的后台就行了。根据名称模糊查询市场活动,并且查询那些跟那个指定的可录外D关联过的市,知道吗?好,那这样的话呢,我们这个前这个后台响了,后台响完了,下边就前开了,那前台我们说两件事发请求处理响应。那发请求出现什么时候发请求?需求说了,当用户来到这个线索转换页面上来的时候,他想创建交易,一点这个,把交易表单打开,打开之后这些该输的输输入,输入输完之后呢,他一点这个地方先弹摩擦窗口,然后弹出来之后在账号一输关键字,每次键盘弹起就发了。所以我们首先做的是干什么呢?这先把一点开,把这个模端上先腾出来,然后再给这个搜索框加键盘弹起时间。
27:06
所以那我说他一点这个搜索按钮要弹搜索框,这个要弹这个搜索的这个什么模大窗口,那我们要给这个搜索的按钮加一个待机时间这个搜索的按钮。他应该是做,应该是个标签,做出来效果,这你看着像图片,应该是个标签,所以我们就给市场活动员搜索按钮加一个单击事件一点啊,先弹摩托窗口就行了,所以我们来做这个事儿。然后呢,我们来找找,那它这个按钮应该在线索转换页面上面,那线索转换页面我们来找一找线索的转换页面,Worker奔驰线索转换页面就是这个地方,它上面有个搜索知有个搜索市场活动源搜索按钮,这是市场活动源看吧。这是市场啊,这个什么哪个呢,大家就这个市场活动员,然后呢,大家看它里边有个搜索按钮啊,就这个A标签,又是A标签做个秀。
28:07
一点他就谈那个摩擦窗手,他那其实美工已经帮我谈了,你看吗,他给我属性,我们说他跟我们谈,我们说我们想做初始化工作做不了。所以说我们这就给他加个ID,我们自己谈去。所以那这个地方来一个给他一个ID一点它触发我们的代码,我们自己弹不到多就行,那这个地方来一个这个ID随便写了,那我这个地方就叫search,叫activity,对activity知道,Activity来一个按钮,Button知道吗?然后呢,我们给它加一个单击时间就行,就是给他一点这个地方要弹那个大状,然后呢,那给他加单击时间,那加过来在入口函数里边统一加这个地方。然后呢,这个地方来给给谁给市场活动员,市场活动员这个什么搜索按钮添加单击事件这样吧。
29:07
那首先选中那个按钮,拿到它的解拍的对象。然后呢,单击事件调视角函数,可Li知道吗?然后呢,在这边常参数,这个参数本身是个函数,表示当用户一点这个按钮的时候,自动触罚这个函数,在这个函数里边我们来做公式,那做成们什么事,他对就弹不到任务值了,那根据我们设计就弹不到,因为我们流程上面也说了,他也点那个搜索按钮弹摩特容,所以弹出搜索市场活动了,摩擦成。然后呢,这个地方那弹的话,我们很好弹了,这就磨到窗口拿到它model一下就行,然后呢点model,然后呢,这里边传个参数弹出来,那就收一下。这样的话,再给我们这个模态窗口就能弹出来了,能弹出这个我就不测了,那用户看到这个模态窗口了,下边呢,是不是待会就会搜输入搜索条件了,那键盘一弹起就要画警流了,所以我们下边要给这个搜索框加一个键盘盘起视频,所以我们这个地方来一个给给谁给搜索给市场活动员啊搜索框给市场活动员活动员然呢这个搜索框。
30:29
搜索框让他添加键盘弹起事件,这那给他加,那我们还是找首先拿到那个搜索框,那个搜索框谁呢?就这个啊,然后给他加一个ID,加一个ID,这个ID我们就叫来一个叫search,是activityiv搜索视网络activity啊单号open框我叫test知道。然后呢,这个地方来给它加一个单击时间,给给它加一个键盘弹起事件行了,那这个地方来首先选中它拿到几块的对象调视角函数知吧,那键盘弹起时间对KR这样一个算,然后呢,在这里边常用参数,这个参数本身是个函数表示,当只要是焦点在它这个搜索框。
31:24
只每次键盘叹息,不管按什么键都会这么触发这函数,我们把这个代码写到这里边就行了啊,写到这个代码,写到这里边干什么?两件事,每次将发请求处理响应。那发起中有参数收集参数收集参数。那收集什么参数,就是你要发到后台这套参数。一个是activity内定应变量来接入activity name这个这个name从哪取,对搜索框里边取,搜索框里边取,是不是就是这个搜索框那个Y6属性值啊,所以你输入有搜索Y6属性值,Y6属性值咋取?
32:05
对,那就是拿到搜索框的什么盗墓对象或解块对象是不是都可以啊,盗墓对象点Y流属性名就行了,解化的对象是点VL是不是就可以了,这这样都行了是吧?那我们这个地方用个最简单的吗?刀墓对象点Y6属性,Y6属性属性名就行,那盗墓对象咋取对this,当前这个事件正在发生在这个输入框上面,输索框上面。This就代表它的盗墓对象,然后呢,点对Y6属性值啊,这样就行了。这是我们这容还有谁大还有谁大,我这是查询的,不用去公制园,我们说也不用做表单验证是吧?还有谁还有可录ID,可录ID从哪取啊。对,是不是从座位里边去啊,就为什么从座位这边去,但你想啊,当前在线索转换界面。
33:05
跳转到线索转换页面的时候,从哪跳转过去了,是不是用户一点这个地方跳转过去了,点这个地方我们去向ctrler,那个ctrler已经把当前线索信息都查出来,然后呢,并且把那关键信息都显示出来了,那ID也都在那个对象里边了。那个地方就上面这个流程知道吗。上半就是跳转到线索转换页面,已经把这个信息查出来了,看查出来之后放到做公域里边了,跳转到线索转换页面。从作用域里边取就行了,那从作用域里边取,那是不是它一表达式了,用好放到引号里边,然后呢,这个地方叫可录点ID知道吧。这样的话,他看这两个参数都收集到了。这是这样,那我们说查询数据不是写数据,这俩不用做表单验证,也不用去空格下边直接发送请求就行了,每次键盘一传起,然后呢,拿到这两个参数发送请求,根据我们的设计异步请求Dollar符号,第二阿贾克斯这里边传个对象知这个对象来个URL知吧,然后呢,到哪呢,到这里边就到这个C。
34:20
然后呢,这个地方来个这哎这个,然后这个地方来个data,把参数提交过去,那这个参数就这两条数。市场活动名字参数名参数值,然后呢,再来一个可录ID参数名参数值。同样这两个参数名要和CTRLL里边这两个行参的名字保持一致,知,然后呢继续来,然后呢,这个地方来个t po,然后呢贝塔T,然后呢这个地来个对接算这样就行了。
35:03
这时候我们说前台的第一个职责就完成了,每次键盘谈起,都向后台发这么一个请求。然后呢,下边第二个是的处理响应死的太处理响应知道吧,然后呢,这是个响应信息,这个响应信息是什么?就是根据名称模糊查询出来的那些市场活动,是一个数独,这里边都一条一条市场活动知道吧,然后呢,把这些市场活动都显示到这个列表下边就行了。显示到这个列表下边,哪个列表呢?就这个这个列表下边知道吧,那显示到这个列表下边,那我什么就要变历这个数组了,每变出来一个元素,然后呢,就拼一行都拼成大字符这里把大字符这显到这个T包子里边去了。所以下边我们就准备在这里玩,这样便利那个数独懂吧来显示所有搜索的市场活动,来便利便利我们的速度data来显示所有的搜,所有搜索的。
36:09
市场活动知道上去了,那便利它,它是GS变量,便利它用Dollar符号意识知道它不是作用力里边数据。所以直接这么一是变路上那一尺里变利的哪一个数组,第一个参数就是变离这个得塔,这个得塔本身就是那个数组从后台返回到。然后呢,后边有个回调函数,这个回调函数来一个方式知道吧,然后在这里边两个参数inex表示便利的下标,从零开始,一直到数组的长度减一,后边还有一个obg表示循环变量,从这里边每拿一个元素放到这里边,在我们这儿它里边每一个元素就是一个市场温度对象。都放到这边,当然我们说里边还有个内置对象,这内置量跟这个也是学校面,它俩是一样的。
37:01
取它来干什么,从这什么执行这个方法体的时候,我们可以什么在循环的时候需要用到每次变量,那个数据可以从里边取。当我取得了,到底用this,还是用它复杂的数据,用它简单数据,用Z,我们这个是一个一个一个市场的对象比较复杂,我就用它了啊,所以将来从这每拿一个市场活动放到这里边,然后在这里边拼一行就行了,拼哪一行就拼这么一行就行。那来找找这一行吧,这一行在哪模擦窗口里边来找一找,大家看这是那个table表格,然后呢,这是表头第一什么第一行是表头下边数据行,这每工写字的,我们把美工能注出掉,我们每变成一个市场活动拼这么一行就行了,把它们拼到一个大字符串里边,然后把大字符串显示到那个600下边,然后呢,这个地方写到这就这样。然后把它拼成一个大字格,那拼成大字格里边来一个定一个大字格,VR来一个HTMLS撇L等于好,然后呢,往左边拼就行了,A前面S啊往左边拼来加等于,然后呢,后边字符号括起来,这样就行了,然后呢,这些全部都给咱们往里边拼。
38:24
拼,拼起来拼起来,拼起来,拼起来拼起来,然后呢,后边都扩起了,扩去了,扩起了,扩去了,扩去了,过去了,过去了,你知道吗。当然这里面数据都从每次循环出来一个市场活动里边取。那群外的还有哪些数据啊,首先这是这个这个radio应该这个单选按钮这个radio,那这个radio先把里边对这个地方给他什给它给它去掉,这这这先给它转移一下双引号,先转移一下,然后将来我一点这个radio是不是要获取什么,是不是那个是不是就是不是要获取这一行市场活动的ID啊ID。
39:08
而且还得获取什么name什么我一点这个我要获取到这个市场活动name和ID。以前我们只获取一个数据,现在获取俩数据了,为什么获取俩,下边需要我,你需要俩数据,你点开既要获取的,这也是上网名字,又要获取到ID,那这个时候大卡应该怎么办呢?对,是不是把市场活动这这次变来,这个市场活动的ID和名字都要和这个radio绑定啊,那都要和他绑定,咋绑定一下绑定俩数据咋绑定。对,这个地方是不是什么有自定义属性了,自定义属性,这个地方用什么自定义属性。我们说它是自定义这个属性,我们是用来是不是保存数据的,保存数据优先用哪个属性,Y6属性它是音步的标志,是不是表达组建标志有外流属性,用外流属性。
40:04
知道吗?然后呢,Y6属性值是什么呢。对,他这个值是吗。是不是你要绑定这个数据啊,哪一个对市场活动的ID是不是这样的市场活动ID,那就往里拼就行了,空格隔开第2ID啊。那么将来我一点这个radio,我就能获取Y6属性值,哎,就能拿到ID了。拿到这条市场活动ID了,现在你只绑定的ID啊,这个市场动ID只绑定了,只能获取它了,我还要获取那个这条市场活动那个名字怎么获取。咋办?对,再绑定,再定一个属性,是不是这样的,再扩展一个属性,这个属性名叫啥。对,这这个只有自定义的牛老师value value6现在不方便使用了,被别的数据占着了,这个时候用自定义属性,这我们前面给大家讲那个规则嘛,对,如果是表达组件标签,优先考虑Y6属性。
41:11
现在Y流属性被占了,不方便了,那这个时候什么在自定义属性,自定义属性什么叫市场红的名字,那我就建明这一了,就叫activity activity内部这个属性名叫它它的值。哎,它的值大家看我们继续了从哪取,是不是从obj这边取啊,那取的话把这个字符串隔开,隔开obj点市场活动的名字知道吧,那么将来我一点这个按钮。我既能获取到Y6属性值,又能获取到的内部属性值。把Y6属性值。这个ID写到一个隐藏域里边,把这个内幕属性值获取多少,显示到那个框里边,是不是就可以了,这样这样就行了,那假如说大概假如说我一点了,我再想获取一个数据呢。
42:01
是不是还可以继续扩展属性啊,扩展属性你不管想获取到什么属性,想获取到什么值,都可以先让它存到标签里边,可以无限定义下去,应该说知道吧,但一般来讲也不会定义太多太多了啊,太多的话这种需求也很少,但我们说的理论上来讲可以随意扩大啊,就这种思想。好,这时候我们要这样,那这样的话呢,我们这个就可以了,这一行这一行这这一列是吧,这一列就写好了,写好之后下边继续了这一列,这一列是市场活动名字名字那就什么从O里边取下吧,字符串隔开,隔开来一个OG点那。这是这样,然后呢下边继续来,这是什么开始日期,然后呢,对这个地方来一个啊,这个地方来一个叫obj点对start的date,这个是结束日期,然后呢,这个地方结束日期OBj.n date是这个是所有者好,然后呢,这个地方来个OBG点二所有者O是这样的话,大家每变出来一个市场活动就拼这么一行,然后呢到最终都拼到这个大字符串里边,然后把大字符串是不是显示到这个列表下边,显示到列表下边怎么显示。
43:31
对,找tbo是不是这样呢,找tbo,然后呢,这个地方来个tea body,找到它之后怎么办呢。对,这个地方是A盘还是HTM,是不是HTML啊,就为什么你你每次键盘弹起都去搜,搜完之后你要是是不是越追加越多了,呃,你应该是这一次搜到把上一次搜到覆盖了才对,叫覆盖形式,所以这个地方它有个点HT2.2。
44:03
然后呢,这个地方HTMLSTL每次键盘弹起都发请求去查,查完之后显示到列表,知道吧,这些数据都那么我们都准备好了。好,这样的话,大概我们这个前台也行了。前台后台都写完了,那么这个可搜索的这个功能,这个流程我们就写完了,那写完之后下边大家可以测一测了,对下边我们继续好,下面来启动服务测一测,看能不能搜索,其实这个过程跟我们前面做线索这个关联市场等等类似啊。他这个地方就是往radio上面多绑定了一个数据。就这地方。然后呢,这个地方来一个张三来一个YF123回车登录,然后呢,咱们线索查看,线索明细,线索转换,然后呢,这个地方看点开它,别的我先不填了,这个地方呢,一点它弹完了把任户。
45:12
他们那种,你比如说他上这个东我去搜去看吧,这样就能搜出来。哎,你说咱市场活动应该不止这两个,怎么搜出来这两条对他就关联这两,当前项目就关联就关联这两知道。这是都是他已经关联过的这个市场。啊,当然这个按钮上面绑定了两个数据,一个ID,一个内容,这我们就知到这了,到这儿之后怎么那就什么用户去点击什么,对选择一个市场活动,所以我们继续来画这个流程,继续来看。
我来说两句