CMS 进度小结

年前开始一个星期做公司一个后台管理项目,到年后一个星期,我负责的模块基本完成。

目录:

返回目录

  1. 数据库设计
    在数据设计过程中,留下深刻印象的是,一对多,多对多的关系怎么设计数据表。
    一对多:两张表,其中一张表里的外键是另一张表的主键:例如一个product对应多个task,那么就是一张product表,一个task表,在task表里设置一个外键为fk-produtID。
    多对多:三张表,两张主表,一个中间表,中间表保存着另外两张表的主键。例如:一个order表,一个card表,一个orderTocard表,一个order对应多个card,一个card对应多个order(kukkle)。

返回目录

  1. 上传控件使用
    因为要根据配置文件,动态添加上传控件,所以是使用的<input type="flie"> html标签实现的上传功能,在<form>中要添加如下属性:method="post" enctype="multipart/form-data" action="目标页面.aspx"
    处理上传的代码:

返回目录

  1. JavaScript验证
    用js实现对上传附件格式的判断,和验证必填项是否上传了附件
    代码如下:

    <asp:Button ID="Submit" runat="server" Text="Submit" CssClass="buttoncss"
      onclick="Submit_Click" OnClientClick="return LimitAttach(this.form)" />

    function LimitAttach(form) {
    //get upload count
    var count = 0;
    var obj = document.getElementsByTagName('input'); //input 标签
    for(var i=0; i<obj.length;i++)
    {
    if(obj[i].id.substring(0,10) == 'fileUpload') //input id
    {
    count++;
    }
    }
    //get must upload count
    var must = 0;
    var mustobj=document.getElementsByTagName('span'); //span 标签
    for(var i=0;i<mustobj.length;i++)
    {
    if(mustobj[i].id.substring(0,8) == 'required') //span id
    {
    must++;
    }
    }
    //alert("total: "+count);
    //alert("must: "+must);
    var mustItem = 0;
    for(var i = 1; i<= count; i++)
    {
    var extArray = new Array();
    var allowSubmit = false;
    var format = document.getElementById('format'+i).innerHTML;
    extArray = format.split(";");
    var file=document.getElementById('fileUpload'+i).value; //读取input上传附件的信息
    if (!file)
    {
    if(document.getElementById('required'+i)) //判断id=required的span标签是否存在
    {
    var required = document.getElementById('required'+i);
    required.innerHTML="Can not be empty"; //必填项验证
    return false;
    }
    }
    else
    {
    if(document.getElementById('required'+i))
    {
    mustItem++;
    var required = document.getElementById('required'+i);
    required.innerHTML="*";
    }
    }
    while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);
    ext = file.slice(file.indexOf(".")).toLowerCase();
    for (var j = 0; j < extArray.length; j++) {
    if (extArray[j] == ext)
    {
    allowSubmit = true; // 验证格式
    break;
    }
    }
    //alert("allowSubmit "+i+allowSubmit);
    if(!allowSubmit)
    {
    if(ext != "")
    {
    var format = document.getElementById('format'+i);
    format.style.color="#ff0000"; //红色
    return false;
    }
    }
    else
    {
    if(ext != "")
    {
    var format = document.getElementById('format'+i);
    format.style.color="#000000"; //变回黑色
    }
    }
    if (mustItem ==must && i == count) //必填项都上传了,所有的都遍历了 return true
    {
    //form.submit();
    //alert("ok");
    return true;
    }
    }
    }

返回目录

  1. 审批流程
    主要是修改task的status值
    -通过
    -拒绝,填写拒绝理由

 返回目录

  1. 群组创建
    续  
posted @ 2012-02-05 15:47  zhanglong0426  阅读(335)  评论(0编辑  收藏  举报