CMS 进度小结
年前开始一个星期做公司一个后台管理项目,到年后一个星期,我负责的模块基本完成。
目录:
-
数据库设计在数据设计过程中,留下深刻印象的是,一对多,多对多的关系怎么设计数据表。一对多:两张表,其中一张表里的外键是另一张表的主键:例如一个product对应多个task,那么就是一张product表,一个task表,在task表里设置一个外键为fk-produtID。多对多:三张表,两张主表,一个中间表,中间表保存着另外两张表的主键。例如:一个order表,一个card表,一个orderTocard表,一个order对应多个card,一个card对应多个order(kukkle)。
-
上传控件使用因为要根据配置文件,动态添加上传控件,所以是使用的<input type="flie"> html标签实现的上传功能,在<form>中要添加如下属性:method="post" enctype="multipart/form-data" action="目标页面.aspx"处理上传的代码:
-
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;
}
}
}
-
审批流程主要是修改task的status值-通过-拒绝,填写拒绝理由
-
群组创建续