微软高级php工程师

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

一、大摆庆功宴

       上一篇博文《大湿教我写程序(1)之菜单导航篇》中讲到了我撸码到晚上两点多,整出了一个还算是高端大气上档次的demo。半夜回到家里打算着可以好好睡上一个懒觉,到时候直接到客户那边跟老板汇合一起去演示。

     早上7点

 “谁呀,大晚上的搞什么灰鸡,还让不让人睡了”刚在梦中与女神相会,关键时刻hello motor!的声音不停的响,我拿起电话回了句。

                         “雷工,今天没办法呀,客户那边单子不小,这单做好了,以后我们有的是合作机会,公司的未来就托付在你身上了。demo要好好做,我在你楼接你,牙也别刷了穿上衣服赶紧下来,咱去公司好好过一遍demo,等项目拿下来了,我们一起去酒店摆庆功宴,好好庆祝一下。快点哈别磨蹭了,给你一分钟。我挂了。”

                             嘟嘟嘟。。。。

                           “XX,什么人!别的程序员说自己是IT民工,我TM是IT奴隶!!!”

     到了公司看了下demo基本没什么问题,其余无非就是教我些坑人的话,教我怎么忽悠客户。

      上午10点

到了客户那边,经过我跟老黄的双簧表演demo竟然顺利通过了。客户那边比较急着上项目,于是让我现场估算一下工时。

“需求分析7天、需求确认3天.....这样一七得七、三七二十一、四七二十八、五一劳动节、六一我过节。。。。我初步估算一下一共需要180个人天数”我说道。

“是的,您这个项目比较复杂,我们要保证质量所以需要这么多人天数也是没办法的,没质量的软件我们宁可不做。”老黄一脸艰难的说。这时候我感觉老黄在我心里的形象非常高大有这样的觉悟,以他的那颗黑得发紫的心和比城墙还厚的脸皮,他绝对可以成为下一个马化腾。

“人天数你们放心,我不会扣你们的,公司这么大不差你们这点钱,工期还是有点长,这个我们要再考虑一下。”对方项目经理。

“原来您担心这点,那我现在就可以告诉您,以我们公司的实力,1个月后交付项目,我从开发部中抽6名骨干来做。保质保量完成任务。”虽然我狠狠地在会议桌下面踩了老黄一脚,可他还是在客户面前表了这样的态。

我们毫无悬念地拿下了这个单子,回家的路上我问老黄:“黄总,我们一共才两个开发的,我算了下跟大雄一起开发都得3个月,你打算要外包么?”

“外包个毛啊,自己会有开发的干嘛把钱给别人赚。大雄那边的项目还没完,这个项目主要还是得你顶着。你千万别跟我说要招人,公司要控制成本,这是我的方针”老黄道。

“这样的话我没法做了,明天我不想上班了”

“年轻人怎么能这样,这点困难就怕了,以后怎么成大事,下月给你加500块工资”

“这不是钱的问题,您每次都这样,我们累的要死,项目无法按时交付客户没命的催,我受够了”

“下月给你加一千五,另外先把报表类的东西做出来,其它功能没出来可以从他们旧系统里拉数据,老板只看报表的,先稳住老板就行”老黄又一脸艰难的说。

“那我尽力吧,黄总,我真心不是因为钱的事跟您闹离职”

“好了,接下来我们要争分夺秒了,你先下到沙县小吃那里给我带份炒面,你也打包回来吃”老黄说完丢下我就先走了

我擦,这TM就是庆功宴,去的原来是沙县大酒店呀!一份炒面也7块钱,钱还没给我呢。。。。


   二、走向AV大道

         吃完饭我就开工了,报表要先弄,看了下客户那边的需求,然后连到他们的服务器上看了一下,感觉问题不是很大,因为SQL我还是比较熟的,一般变态点的语句也都能写得出来。

         经过一下午的整理SQL语句全弄好了,抓取出来的数据也没问题,接下来又要做前台页面了。像什么水晶报表之类的我肯定是想都不想了,要付费的东西用上去了,被那个半桶子水的家伙看到后不但要臭骂一通还得重新来过。

当时demo的界面是这样的:

 
当时客户看了这图表也蛮喜欢的,可我那都是F12抓过来的死东西呢,怎么弄呢。
自己找了几个服务器控件拖过去看了一下,效果很不好,一刷新整页都白了。
“大雄,你那首页图表,表格是怎么搞的呀,我用服务器控件效果太差了。大湿能不能帮我看看”我谄媚地问道。
“很简单的东西,因为我没有使用服务器控件,jquery+ajax访问后台数据,局部刷新,所以用户体验会比较好,这种AV技术你以后要多用一用,看来你还是不行,我昨天教你F12剥衣服,剥下来你也没好好看,服务器控件都分不清楚。。。”大雄目不转睛的看着某国爱情动作片说道。
“你AV看多了吧,10TB的AV片种子把网盘塞满了,剩下的塞你脑子里去了吧,开口闭口说是这个,以后少看点,看多了伤身伤肾,赶紧帮我看看这个东西怎么搞。”说完一把合上了他的笔记本。
“唉,伤身伤肾算什么,至少他不伤我的心,为师这就好好地教你一下AV技术吧,你呀,不单技术差,而且没文化,把文艺片跟前端技术混为一谈,我说的AV是让你用 ajax 去visit后台,V是visit懂不懂!”
“就你懂得多,你还德艺双馨,少废话了,快帮我做正事。”
五分钟后大湿轻松帮我搞定了一个报表,然后转身要走.
“大雄,你咋做事就搞一半呢,还差几个呢。”
“你这人别太懒,刚你都看到,AV这门技术不动手是不行的,先自己动手,慢慢体会哈”
好吧,还是自己来了,看了他刚才做的.我按照如下步骤操作了一遍
1、写了一个webservice类,里面写一个返回json数据的方法。
2、html界面声明对jquery ui库的引用。
 <script src="/Themes/Scripts/jquery-1.8.2.min.js"></script>

3、声明对图表插件的引用

    <script src="../Themes/Scripts/Highcharts/highcharts.js"></script>
    <script src="../Themes/Scripts/Highcharts/theme/grid.js"></script>

4 、函数封装一下jquery调用Ajax调用后台处理程序方法。

/* 请求Ajax 带返回值
--------------------------------------------------*/
function getAjax(url, parm, callBack) {
    $.ajax({
        type: 'post',
        dataType: "text",
        url: url,
        data: parm,
        cache: false,
        async: false,
        success: function (msg) {
            callBack(msg);
        }
    });

5、正式开始AV调用,指定后台处理程序地址,传入参数,将返回值绑定到报表即可,代码比较长这里就不贴出来。

6、在数据没有加载完成时加一个正加加载的小特效,加载完了再隐藏掉。别让用户感觉界面假死

        <div id="loading" onclick="Loading(false);">
            <img src="../Themes/Images/loading.gif" style="padding-bottom: 4px; vertical-align: middle;" />&nbsp;正在处理,请稍待&nbsp;
        </div>

运行一下试试,哦耶!没一点问题。


   三、将AV事业发扬光大

            OK,报表那块的东西基本处理得差不多,客户那边有不少资料是要用Excel导入进去的,经常会一次性导入很多个文件,如果用服务端控件肯定用户体验不好。看来还是得采用AV技术来上传比较好。

“大雄。。。”算了,大湿双眼紧盯屏幕,看来又在研习这门技术更深层次的内功心法了,算了不打扰他了,自己动手吧。

首先我要感谢的是谷沟,google一下发现.net的ashx可以上传文件,这个东西上传文件很方便,单个的文件可以上传,也可以指定一个文件夹上传所有文件。太好了,感谢asmx的妹妹ashx,那么我就依葫芦画瓢按照上一节中的方法来处理上传,只有以下两点不同:

1、Ajax提交

   <script type="text/javascript">        
      function upload(){  
        var path = document.getElementById("File1").value;  
        var img = document.getElementById("img1");  
        if($.trim(path)==""){  
            alert("请选择要上传的文件或文件夹");  
            return;  
            }  
              
        $("#form1").ajaxSubmit({  
            success: function (str) {   
                if(str!=null && str!="undefined"){  
                    if (str == "1") {alert("上传成功");document.getElementById("img1").src="images/logo.jpg?"+new Date();/*上传后刷新图片*/}  
                    else if(str=="2"){alert("只能上传Excel格式的文件");}  
                    else if(str=="3"){alert("文件不能大于10M");}  
                    else if(str=="4"){alert("请选择要上传的文件");}  
                    else {alert('操作失败!');}  
                }  
                else alert('操作失败!');  
            },  
            error: function (error) {alert(error);},  
            url:'Handler.ashx', /*设置post提交到的页面*/  
            type: "post", /*设置表单以post方法提交*/  
            dataType: "text" /*设置返回值类型为文本*/  
        });  
    }        
    </script>  

2、服务器端接收到文件以后要进行后续处理。
F5之后,OK,完全没问题,正常接收

 

“大雄,快来看,快来看,这个导入文件我也是用AV技术解决的,怎么样,还可以吧。”

“不错呀,你这个真的还不错,挺会举一反三的,平时教学视频没白看呀”

“怎么样,离你的技术还差多远,大湿。”

“我哪能跟您比呀,您才是大湿,动手能力这么强,马上要赶上神之手加滕老师了。”

“好了,昨晚上没睡好,今天折腾了一天不跟你瞎扯了,我先回家睡觉。”

“你先滚吧,明天双11,0点的时候我先买买东西。”

不是吧难道又要加班了?这时候老黄又打电话过来了。

“黄总,又加班呀!!你还想不想让我活了!”

“没,你今天好好休息下,我有有个事情交待下。。。”

“啥事您这么急?话都说不圆了,别急,有事您慢慢讲。”

“今天客户给我打了15万首付款,那张卡我开通了网银的,明天双11了,我现在在陪客户吃饭,你赶点紧,现在晚上9点了,我已经把支付宝、网银账号发你QQ上了,你马上乱输几次密码,都给锁上。别让那败家老娘们儿给我花了”

。。。

谨以此文献给像我一样的菜鸟,希望大家能有所启发,大牛勿喷。

 

http://www.learun.cn  力软官网

http://www.learun.cn:8080  在线demo

 

如果你觉得喜欢就帮我【推荐】一下吧,你的支持才是我能坚持写完这个系列文章的动力。


 

posted on 2013-11-24 18:44  微软高级php工程师  阅读(6275)  评论(49编辑  收藏  举报