{% extends "data_opform.html" %} {% load i18n %} {% block form %} {% autoescape off %} {{ form.pin_width }}
{% trans '输入起始人员编号:' %}
{% trans '输入结束人员编号:' %} {% trans '生成人员列表'%} {% trans '更改人员编号'%}
{% trans '未分配卡人员数量' %}:

 

{% trans '人员编号' %}{% trans '姓名' %}{% trans '部门名称' %}
{% if "mysite.iaccess&mysite.att"|hasApp or "mysite.iaccess"|hasApp %} {%else%} {% endif %}
{% trans '卡号获取方式' %}:
     
{% trans '输入卡号:' %} {% trans '确定' %} {% trans '清除' %}
{% trans '刷卡位置'%}:
{% trans '开始读取' %}   {% trans "读取中..." %}
{% trans '已发卡数:' %}
 

 

{% trans '序号' %} {% trans '人员编号' %}{% trans '姓名' %}{% trans '部门名称' %}{% trans '卡号' %}
{% endautoescape %} {% endblock %} {% block addjs %} $(function(){$(".tbl_data_edit").children().children().children("td").css({padding:"0px"});}) var emps=[]; //后台取出的人员列表 var cards=[]; //批量发卡卡号存储变量 var card_emp = []; //存储分配后的卡号和员工号 var curi=0; //当前处理行号 var cure=0; //记录未分配的人员数组下标 var cur_emp = 0;//未分配人员数量 var empid=[] //记录员工id号,用于后台处理 var pin_width=$("#id_pin_width").val(); var $div=$("form#id_edit_form"); $div.find("#id_genemps").click(function(){ $("#tbl_datalist tbody").remove() get_emps(); }); $div.find("#id_clearcard").click(function(){ funclear(); }); $("#id_changeemps").click(function(){ $div.find("#id_startpin").val(""); $div.find("#id_startpin").removeAttr("readonly"); $div.find("#id_endpin").val(""); $div.find("#id_endpin").removeAttr("readonly"); $("#id_tbl_old tbody").remove() $div.find("#id_startpin").focus(); }); $('form#id_edit_form').find('#id_cardno').keydown(function(event){ if(event.keyCode==13) { var cardno=$div.find("#id_cardno").val(); issue(cardno); } }); $div.find("#id_cardno").attr("readonly",true); $div.find("#div_id_issuecardnumber").html(""); $("#div_id_remainnumber").html(""); $("#get_card_way").change(function(){ if(this.value == 1) { $("#get_card").attr("class",""); $("#device_tr").attr("class","displayN"); $("#id_card").focus(); }else if(this.value == 2) { $("#device_tr").attr("class",""); $("#get_card").attr("class","displayN"); } }); var door_tree_bl=false; function show_devices(){ if(!door_tree_bl) { if($("#id_door").html()==null){ $.ajax({ url:"/{{request.surls}}iaccess/GetData/?func=get_doors_tree", dataType: "html", success:function(data_html){ //$("#id_show_devices").after(data); document.getElementById("id_show_devices").innerHTML = data_html; $("#id_door").find("ul").each(function(){ $(this).attr("style","display:none"); }) //remove_single_perm_node($("#id_door .filetree")); $("#id_door .filetree").treeview(); check_root("id_door"); check_selected("id_door"); $("#id_door").find("p").click(function(){ get_child(this); }); $("#id_door").css({padding:"0px",height:"auto"}); $("#id_show_devices").css({width:$("#id_door").width()}); $("#id_door").find("ul").each(function(){ $(this).attr("style",""); }) $($("#id_door").find("ul")[0]).before('
{% trans "撤销选择" %}  {% trans "确定" %}
'); $($("#id_door").find("ul")[0]).attr("style","height: 220px; overflow: auto;") } }); } $("#id_door").attr("class",""); door_tree_bl=true; } } //确定 function confirm_tree(tag){ $(tag).parent().parent().attr("class","displayN"); door_tree_bl = false; } //撤销选择 function door_tree_display(tag){ $("#id_door").attr("class","displayN"); door_tree_bl = false; $("#id_door").find("p").each(function(){ $(this).attr("class","t"); }); $("#id_door_name").val(""); } var id_doors = []; //递归调用 获得最后一级标签的text function get_child(tag){ if($(tag).attr("class")=="t s" && $(tag).find("input").length!=0){//为最后一级标签时 if($("#id_door_name").val().indexOf($(tag).text())<0){ $("#id_door_name").val($.trim($("#id_door_name").val())+" "+$(tag).text());//当选择该项时,将其添加到文本框中 var id_s = $(tag).find("input")[0].id.split("_")[1]; id_doors.push(id_s); } }else if($(tag).attr("class")=="t u" && $(tag).find("input").length!=0) { $("#id_door_name").val($("#id_door_name").val().replace($(tag).text(),""));//当取消选择时,在文本框中去掉当前选项 var id_d = $(tag).find("input")[0].id.split("_")[1]; var index = get_index(id_d,id_doors,false); id_doors.splice(index,1); }else if($(tag).find("input").length==0)//为父标签时 { $($(tag).next()).find("p").each(function(){ get_child(this); }); } } //开始从后台获取刷的卡号 var read_card_bl = false; var stop_post; var log_id; var time_now; $("#read_card").click(function(){ if(cur_emp == 0 && !read_card_bl) { return; } if($("#id_door_name").val()!="") { if(!read_card_bl) { $(this).html("{% trans '停止读取' %}"); $("#id_reading").attr("class",""); read_card_bl = true; //每隔2s发送一次请求,获取新刷的卡号 stop_post = setInterval("get_card_number()",2000); }else { $(this).html("{% trans '开始读取' %}"); $("#id_reading").attr("class","displayN"); read_card_bl = false; clearInterval(stop_post); } }else{ alert(gettext("请选择刷卡位置!")); } }); function get_card_number(){ var doors = id_doors.join("_"); $.ajax({ url:"/{{request.surl}}iaccess/get_card_number/?doors="+doors+"&log_id="+log_id+"&time_now="+time_now, dataType:"json", type:"POST", success:function(data){ if(data.length>=2) { for(var j=0;j"+curemp[1]+""+ curemp[2]+""+curemp[3]+""+ cards[curi]+"" $div.find("#tr_first").after(html); $div.find("#id_cardno").val(""); curi+=1; cure+=1; cur_emp = cur_emp-1; if (cure>=emps.length) { $("#id_startpin").focus() $div.find("#id_startpin").attr("readonly",false); $div.find("#id_endpin").attr("readonly",false); $div.find("#id_cardno").attr("readonly",true); $div.find("#div_id_issuecardnumber").html(""); $div.find("#div_id_remainnumber").html(""); $("#id_tr_old").parent().next().find("tr:first").remove() return ; } fillcuremp(); $("#id_tr_old").parent().next().find("tr:first").remove() } else { alert("{% trans '卡号不正确' %}"); } } function fillcuremp() { var $div=$("form#id_edit_form"); $div.find("#div_id_issuecardnumber").html(""); $div.find("#div_id_remainnumber").html(""); } function get_index(num,array,is_emp) { for(var i=0;i100) { alert(gettext('每次发卡数量不能超过100')); return []; } var v=[] for(var i=start; i<=end;i++) { v.push(i); } return v; } //获得未分配人员 function get_emps() { cur_emp = 0; $("#div_id_remainnumber").html(""); var $div=$("form#id_edit_form"); var startpin=$div.find("#id_startpin").val(); var endpin=$div.find("#id_endpin").val(); if(startpin.length>pin_width) { alert(gettext("起始编号长度不能超过")+pin_width+gettext("位")); return; } if(endpin.length>pin_width) { alert(gettext("结束编号长度不能超过")+pin_width+gettext("位")); return; } startpin=fillPIN(startpin) endpin=fillPIN(endpin) if(startpin=='') { alert('{% trans "起始编号不能为空" %}'); return; } if(endpin=='') { alert('{% trans "结束编号不能为空" %}'); return; } pin=[] if(startpin.length!=endpin.length) { alert(gettext('起始人员编号与结束人员编号的长度位数不同!')); return } pin.push(startpin); pin.push(endpin); /* ret=get_range(startpin,endpin); if( ret.length==0) { return; } */ $.ajax({ url:"/{{request.surl}}personnel/getmodeldata/personnel/Employee/?fields=id,PIN,EName,DeptID__name&stamp=1", data:"PIN__range=('" +pin[0].toString()+"','"+pin[1].toString()+"')&Card__exact=", //data:"PIN__in="+ret.toString()+"&Card__exact=", dataType:"json", type:"POST", success:function(data){ emps=data; cure=0; if (emps.length>0) { //fillcuremp(emps[curi]); var tbl=$div.find("#tbl_datalist") for(var i=0;i"+curemp[1]+""+curemp[2]+""+curemp[3]+""); cur_emp = cur_emp+1; } } if(cur_emp == 0) { alert("{% trans '该人员编号段内不存在人员' %}"); return; } $div.find("#id_startpin").attr("readonly",true); $div.find("#id_endpin").attr("readonly",true); $div.find("#id_cardno").attr("readonly",false); $div.find("#id_cardno").focus(); $div.find("#div_id_issuecardnumber").html(""); $div.find("#div_id_remainnumber").html(""); } else { alert("{% trans '该人员编号段内不存在人员' %}"); } } }); } function selectAll(tag){ if(tag.checked==true) { $("#tbl_datalist").find("input").each(function(){ this.checked=true; }); }else { $("#tbl_datalist").find("input").each(function(){ this.checked=""; }); } } function fillPIN(pin) { var t="" for(var i=0;i