308 lines
13 KiB
Plaintext
308 lines
13 KiB
Plaintext
|
|
@{
|
|
ViewBag.Title = "从业人员人工预约";
|
|
}
|
|
|
|
<table class="t1" style="width:600px">
|
|
<tr>
|
|
<td class="ltd" style="width:120px">体检类型:</td>
|
|
<td class="rtd">@Html.DropDownList("CYFA", ViewData["tjfn"] as SelectList, new { id = "CYFA" })*</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd">预约日期:</td>
|
|
<td class="rtd"><input id="yyrq" class="Wdate" onclick="WdatePicker()" />*</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd">姓名:</td>
|
|
<td class="rtd"><input id="xm" class="l-text" />*</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd">身份证号:</td>
|
|
<td class="rtd"><input id="sfzh" class="l-text" style="width:200px" onblur="checkid()" />*</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd">手机号:</td>
|
|
<td class="rtd"><input id="sjh" class="l-text" />*</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd">单位名称:</td>
|
|
<td class="rtd"><input id="dwmc" class="l-text" />*</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="ltd">上传证件:</td>
|
|
<td class="rtd">
|
|
<input type="hidden" id="singnature" name="singnature" />
|
|
<img id="signation" style="height: 120px" src="../Images/signation.png" />
|
|
<img id="signation2" style="height: 120px" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="rtd"></td>
|
|
<td class="rtd"><input id="save" type="button" value="保存" class="l-button" /></td>
|
|
</tr>
|
|
</table>
|
|
|
|
@section scripts{
|
|
<script src="@Url.Content("~/Scripts/datetime/WdatePicker.js")"></script>
|
|
<script type="text/javascript">
|
|
function checkid()
|
|
{
|
|
var jg = checkIdcard($("#sfzh").val());
|
|
if(jg!="验证通过!")
|
|
{
|
|
$.ligerDialog.alert(jg, function () { $("#sfzh").focus(); });
|
|
}
|
|
}
|
|
function checkIdcard(idcard, csrq, sex) {
|
|
//错误信息
|
|
var Errors = new Array("验证通过!", "身份证号码位数不对!", "身份证号码出生日期超出范围或含有非法字符!", "身份证号码校验错误!", "身份证地区非法!");
|
|
var area = {
|
|
11: "北京",
|
|
12: "天津",
|
|
13: "河北",
|
|
14: "山西",
|
|
15: "内蒙古",
|
|
21: "辽宁",
|
|
22: "吉林",
|
|
23: "黑龙江",
|
|
31: "上海",
|
|
32: "江苏",
|
|
33: "浙江",
|
|
34: "安徽",
|
|
35: "福建",
|
|
36: "江西",
|
|
37: "山东",
|
|
41: "河南",
|
|
42: "湖北",
|
|
43: "湖南",
|
|
44: "广东",
|
|
45: "广西",
|
|
46: "海南",
|
|
50: "重庆",
|
|
51: "四川",
|
|
52: "贵州",
|
|
53: "云南",
|
|
54: "西藏",
|
|
61: "陕西",
|
|
62: "甘肃",
|
|
63: "青海",
|
|
64: "宁夏",
|
|
65: "新疆",
|
|
71: "台湾",
|
|
81: "香港",
|
|
82: "澳门",
|
|
91: "国外"
|
|
}
|
|
var idcard, Y, JYM;
|
|
var S, M;
|
|
var idcard_array = new Array();
|
|
idcard_array = idcard.split("");
|
|
//地区检验
|
|
if (area[parseInt(idcard.substr(0, 2))] == null)
|
|
return Errors[4];
|
|
//身份证号码位数及格式检验
|
|
switch (idcard.length) {
|
|
@*
|
|
case 15:
|
|
//15位身份证号码,出生日期的合法性检查
|
|
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
|
|
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
|
|
if ((parseInt(idcard.substr(6, 2)) + 1900) % 400 == 0 ||
|
|
((parseInt(idcard.substr(6, 2)) + 1900) % 100 != 0 &&
|
|
(parseInt(idcard
|
|
.substr(6, 2)) +
|
|
1900) %
|
|
4 ==
|
|
0)) {
|
|
ereg =
|
|
/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/; //闰年出生日期的合法性正则表达式
|
|
} else {
|
|
ereg =
|
|
/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/; //平年出生日期的合法性正则表达式
|
|
}
|
|
if (csrq) {
|
|
var sr = parseInt(idcard.substr(6, 2)) + 1900 + parseInt(idcard.substr(8, 4));
|
|
if (sr != csrq.replace(/-/g, "")) {
|
|
return "身份证和出生日期不对应!";
|
|
}
|
|
}
|
|
if (sex && sex == 1 && parseInt(idcard.substr(14, 1)) % 2 != 1) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
if (sex && sex == 2 && parseInt(idcard.substr(14, 1)) % 2 != 0) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
if (ereg.test(idcard))
|
|
return Errors[0];
|
|
else
|
|
return Errors[2];
|
|
break;*@
|
|
case 18:
|
|
//18位身份证号码,出生日期的合法性检查
|
|
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
|
|
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
|
|
if (parseInt(idcard.substr(6, 4)) % 400 == 0 ||
|
|
(parseInt(idcard.substr(6, 4)) % 100 != 0 && parseInt(idcard.substr(6, 4)) % 4 == 0)) {
|
|
ereg =
|
|
/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/; //闰年出生日期的合法性正则表达式
|
|
} else {
|
|
ereg =
|
|
/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/; //平年出生日期的合法性正则表达式
|
|
}
|
|
if (ereg.test(idcard)) {
|
|
if (csrq) {
|
|
var sr = parseInt(idcard.substr(6, 8));
|
|
if (sr != csrq.replace(/-/g, "")) {
|
|
return "身份证和出生日期不对应!";
|
|
}
|
|
}
|
|
if (sex && sex == 1 && parseInt(idcard.substr(16, 1)) % 2 != 1) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
if (sex && sex == 2 && parseInt(idcard.substr(16, 1)) % 2 != 0) {
|
|
return "身份证和性别不对应!";
|
|
}
|
|
//计算校验位
|
|
S = (parseInt(idcard_array[0]) + parseInt(idcard_array[10])) * 7 +
|
|
(parseInt(idcard_array[1]) + parseInt(idcard_array[11])) * 9 +
|
|
(parseInt(idcard_array[2]) + parseInt(idcard_array[12])) * 10 +
|
|
(parseInt(idcard_array[3]) + parseInt(idcard_array[13])) * 5 +
|
|
(parseInt(idcard_array[4]) + parseInt(idcard_array[14])) * 8 +
|
|
(parseInt(idcard_array[5]) + parseInt(idcard_array[15])) * 4 +
|
|
(parseInt(idcard_array[6]) + parseInt(idcard_array[16])) * 2 +
|
|
parseInt(idcard_array[7]) * 1 +
|
|
parseInt(idcard_array[8]) * 6 +
|
|
parseInt(idcard_array[9]) * 3;
|
|
Y = S % 11;
|
|
M = "F";
|
|
JYM = "10X98765432";
|
|
M = JYM.substr(Y, 1);
|
|
|
|
if (M == idcard_array[17]) //判断校验位
|
|
return Errors[0];
|
|
else
|
|
return Errors[3];
|
|
} else
|
|
return Errors[2];
|
|
break;
|
|
default:
|
|
return Errors[1];
|
|
break;
|
|
}
|
|
}
|
|
|
|
$(function () {
|
|
$("#save").bind("click", function () {
|
|
var data = {};
|
|
data.CYFA = $("#CYFA").val();
|
|
if (data.CYFA == "0" || data.cyfa == "") {
|
|
$.ligerDialog.alert("请选择体检类型!");
|
|
return;
|
|
}
|
|
data.ADate = $("#yyrq").val();
|
|
if (!data.ADate) {
|
|
$.ligerDialog.alert("请选择预约日期!");
|
|
return;
|
|
}
|
|
data.xingMing = $("#xm").val();
|
|
if (!data.xingMing) {
|
|
$.ligerDialog.alert("请输入姓名!");
|
|
return;
|
|
}
|
|
data.IDCard = $("#sfzh").val();
|
|
if (!data.IDCard) {
|
|
$.ligerDialog.alert("请输入身份证号!");
|
|
return;
|
|
}
|
|
data.Mobile = $("#sjh").val();
|
|
if (!data.Mobile) {
|
|
$.ligerDialog.alert("请输入手机号!");
|
|
return;
|
|
}
|
|
data.dwmc = $("#dwmc").val();
|
|
if (!data.dwmc) {
|
|
$.ligerDialog.alert("请输入单位名称!");
|
|
return;
|
|
}
|
|
data.zj = $("#singnature").val();
|
|
if (!data.zj) {
|
|
$.ligerDialog.alert("请上传证件!");
|
|
return;
|
|
}
|
|
data.zj="../UploadFile/xcx2/" + id + ".png" //base64内容换成路径
|
|
$.ajax({
|
|
url: "@Url.Action("savergyy")", type: "post", dataType: "json", data: data,
|
|
success: function (v) {
|
|
$.ligerDialog.closeWaitting();
|
|
$.ligerDialog.alert(v.Message);
|
|
if (v.State == 1) {
|
|
f_clear();
|
|
}
|
|
},
|
|
beforeSend: function () {
|
|
$.ligerDialog.waitting("正在保存请稍后……");
|
|
}
|
|
});
|
|
});
|
|
});
|
|
function f_clear() {
|
|
$("#CYFA").val("0");
|
|
$("#yyrq").val("");
|
|
$("#xm").val("");
|
|
$("#sfzh").val("");
|
|
$("#sjh").val("");
|
|
$("#dwmc").val("");
|
|
$("#singnature").val("");
|
|
}
|
|
|
|
var interval;
|
|
var id;
|
|
var imgclick = function () {
|
|
document.getElementById("signation").onclick = null;
|
|
//按日期规则生成一个随机ID
|
|
$.ajax({
|
|
type: "get",
|
|
url: "../wxapp/getCodeid",
|
|
async: false,
|
|
cache: false,
|
|
success: function (data) {
|
|
id = data
|
|
}
|
|
});
|
|
//获取一个带url的 二维码图片
|
|
document.getElementById("signation").src = "../wxapp/getCode22?id=" + id;
|
|
//轮询获取 用用户上传的照片
|
|
interval = setInterval(function () {
|
|
var url = "../wxapp/get?id=" + id;
|
|
$.ajax({
|
|
type: "get",
|
|
url: url,
|
|
async: false,
|
|
cache: false,
|
|
//dataType: "jsonp",
|
|
//jsonpCallback: "callback",
|
|
success: function (json) {
|
|
if (json.indexOf("base64,") >= 0) {
|
|
document.getElementById("signation2").src = "data:" + json;
|
|
$("#singnature").val(json);
|
|
clearInterval(interval)
|
|
document.getElementById("signation").onclick = imgclick;
|
|
document.getElementById("signation").src = "../Images/signation.png";
|
|
}
|
|
},
|
|
error: function (e) {
|
|
//console.log(e)
|
|
}
|
|
});
|
|
}, 2000)
|
|
}
|
|
document.getElementById("signation").onclick = imgclick;
|
|
|
|
document.getElementById("signation2").onclick = function () {
|
|
//document.getElementById("signation2").src = "";
|
|
//$("#singnature").val("");
|
|
window.open("/UploadFile/xcx2/" + id + ".png");
|
|
}
|
|
|
|
</script>
|
|
} |