js学习总结----crm客户管理系统之前端页面开发及数据渲染

具体代码如下:

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="css/index.css" charset='utf-8'>
</head>
<body>
    <div class='box'>
        <a href="add.html" class='link'>增加客户</a>
        <h2 class='head'>
            <span class='w50'>编号</span>
            <span class='w150'>姓名</span>
            <span class='w50'>年龄</span>
            <span class='w200'>电话</span>
            <span class='w200'>地址</span>
            <span class='w150'>操作</span>
        </h2>
        <ul class='list' id='list'>
            <!-- <li>
                <span class='w50'>1</span>
                <span class='w150'>xxx</span>
                <span class='w50'>25</span>
                <span class='w200'>xxxxxxxxx</span>
                <span class='w200'>xxxxxxxxxxx</span>
                <span class='w150 control'>
                    <a href="">修改</a>
                    <a href="">删除</a>
                </span>
            </li> -->
        </ul>
    </div>
    <script charset='utf-8' type='text/javascript' src='js/ajax.js'></script>
    <script charset='utf-8' type='text/javascript'>
        var oList = document.getElementById('list');
        //首先获取所有的客户信息,完成页面的数据绑定
        var customModule = (function(){
            //DELETE CUSTOM
            function removeCustom(){
                oList.onclick = function(e){
                    e = e || window.event;
                    var tar = e.target || e.srcElement,
                        tarTag = tar.tagName.toUpperCase();
                    if(tarTag==="A" && tar.innerHTML ==="删除"){
                        var customId = tar.getAttribute("customId");
                        var flag = window.confirm("确定要删除编号为["+customId+"]的客户吗?");
                        if(flag){
                            ajax({
                                url:"/removeInfo?id="+customId,
                                success:function(jsonData){
                                    if(jsonData && jsonData.code===0){
                                        oList.removeChild(tar.parentNode.parentNode);
                                        return;
                                    }
                                    alert(jsonData.msg);
                                }
                            })
                        }
                    }    

                }
            }
            //BIND HTML
            function bindHTML(data){
                var str = "";
                for(var i = 0;i<data.length;i++){
                    var curData = data[i];
                    str+='<li>';
                        str+='<span class="w50">'+curData["id"]+'</span>';
                        str+='<span class="w150">'+curData["name"]+'</span>';
                        str+='<span class="w50">'+curData["age"]+'</span>';
                        str+='<span class="w200">'+curData["phone"]+'</span>';
                        str+='<span class="w200">'+curData["address"]+'</span>';
                        str+='<span class="w150 control">';
                            str+='<a href="add.html?id='+curData["id"]+'">修改</a>';
                            str+='<a href="javascript:;" customId = "'+curData["id"]+'">删除</a>';
                        str+="</span>"
                    str+='</li>';
                }
                oList.innerHTML = str;
            }
            //SEND AJAX GET DATA
            function init(){
                ajax({
                    url:"/getList",
                    success:function(jsonData){
                        if(jsonData && jsonData.code==0){
                            var data = jsonData.data;
                            bindHTML(data);
                            removeCustom();
                        }
                    }
                })
            }
            return{
                init:init
            }
        })()
        customModule.init();
    </script>
</body>
</html>

add.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="css/index.css" charset='utf-8'>
</head>
<body>
    <div class='box2'>
        <div>
            <span>姓名:</span>
            <input type="text" id='userName'>
        </div>
        <div>
            <span>年龄:</span>
            <input type="text" id='userAge'>
        </div>
        <div>
            <span>电话:</span>
            <input type="text" id='userPhone'>
        </div>
        <div>
            <span>地址:</span>
            <input type="text" id='userAddress'>
        </div>
        <div class='submit' id='submit'>提交</div>
    </div>
    <script charset='utf-8' type='text/javascript' src='js/ajax.js'></script>
    <script charset='utf-8' type='text/javascript'>
        String.prototype.queryURLParameter = function(){
            //PARAMETER
            var obj = {},
                reg = /([^?=&#]+)=([^?=&#]+)/g;
            this.replace(reg,function(){
                var key = arguments[1],
                    value = arguments[2];
                obj[key] = value;
            });
             //->HASH
            // reg = /#([^?=&#]+)/;
            // if (reg.test(this)) {
            //     obj['hash'] = reg.exec(this)[1];
            // }
            // return obj;

        }
        var userName = document.getElementById("userName");
        var userAge = document.getElementById("userAge");
        var userPhone = document.getElementById("userPhone");
        var userAddress = document.getElementById("userAddress");
        var submit = document.getElementById("submit");
        //判断一下是修改还是增加:如果URL的后面传递了ID值就是修改,否则就是增加,这样的话我们加载页面的第一件事情就是获取URL后面传递进来的ID值
        var urlObj = window.location.href.queryURLParameter(),
            customId = urlObj["id"],
            isFlag = typeof customId === "undefined" ? false : true;//是否为修改操作 true代表修改 false代表增加
        
        //如果是修改的话,我们首先需要把对应的客户的信息获取到,并且增加到对应的文本框中
        if(isFlag){
            ajax({
                url:'/getInfo?id='+customId,
                success:function(jsonData){
                    if(jsonData && jsonData.code===0){
                        var data = jsonData["data"];
                        userName.value = data["name"];
                        userAge.value = data["age"];
                        userPhone.value = data["phone"];
                        userAddress.value = data["address"]
                    }

                }
            })
        }
        //点击提交按钮的时候不一定是增加也可能是修改
        submit.onclick = function(){
            var obj = {
                name:userName.value,
                age:userAge.value,
                phone:userPhone.value,
                address:userAddress.value
            }
            //update
            if(isFlag){
                obj.id = customId;
                ajax({
                    url:'/updateInfo',
                    type:"post",
                    data:JSON.stringify(obj),
                    success:function(jsonData){
                        if(jsonData && jsonData.code===0){
                            window.location.href="index.html";
                            return;
                        }
                        alert(jsonData.msg);
                    }
                })
                return;
            }
            //add
            ajax({
                url:"/addInfo",
                type:"post",
                data:JSON.stringify(obj),//请求主体中的内容是JSON格式的字符串
                success:function(jsonData){
                    if(jsonData && jsonData.code==0){
                        //成功后跳转回首页
                        window.location.href = "index.html";
                        return;
                    }
                    alert(jsonData.msg);
                }
            })
        }
    </script>
</body>
</html>

custom.json(模拟后台数据)

[{"name":"a sd","age":"sa ","phone":"da s","address":"sd ","id":2}]

最终效果:

 

这个只是一个非常简单的demo,没有很复杂。

posted @ 2017-08-03 10:13  diasa  阅读(1320)  评论(0编辑  收藏  举报