|
@@ -38,6 +38,20 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ var newDrawer=$('input:radio[name="newDrawer"]:checked').val();
|
|
|
|
+ if(null == newDrawer || undefined == newDrawer || '' == newDrawer){
|
|
|
|
+ parent.layer.msg("请选择开票类型",{icon:0});
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ if (newDrawer != 2) {
|
|
|
|
+ } else {
|
|
|
|
+ var idCard = $("#idCard").val();
|
|
|
|
+ if(!submitValidateIDCard(idCard)){
|
|
|
|
+ layer.msg("身份证号不正确,请重新输入",{icon:2});
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
var money = $("#money").val();
|
|
var money = $("#money").val();
|
|
var redInvoice=$('input:radio[name="redInvoiceFlag"]:checked').val();
|
|
var redInvoice=$('input:radio[name="redInvoiceFlag"]:checked').val();
|
|
@@ -112,6 +126,19 @@
|
|
form.render();
|
|
form.render();
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+
|
|
|
|
+ form.on('radio(newDrawerRadio)',function (event) {
|
|
|
|
+ var radioVal = $(this).val();
|
|
|
|
+ if(radioVal == 1 || radioVal == 1){
|
|
|
|
+ $(".count2").hide();
|
|
|
|
+ $(".count1").show();
|
|
|
|
+ }else if(radioVal == 2 || radioVal == 2){
|
|
|
|
+ $(".count1").hide();
|
|
|
|
+ $(".count2").show();
|
|
|
|
+ }
|
|
|
|
+ form.render();
|
|
|
|
+ })
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
|
|
var redInvoiceFlag = '${workInvoice.redInvoiceFlag}';//后端获取值
|
|
var redInvoiceFlag = '${workInvoice.redInvoiceFlag}';//后端获取值
|
|
@@ -201,6 +228,19 @@
|
|
$("#attachment_btn").click(function () {
|
|
$("#attachment_btn").click(function () {
|
|
$("#attachment_file").click();
|
|
$("#attachment_file").click();
|
|
});
|
|
});
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ var newDrawerRadio = '${workInvoice.newDrawer}';//后端获取值
|
|
|
|
+ if(undefined == newDrawerRadio || null == newDrawerRadio || '' == newDrawerRadio || newDrawerRadio == "1"){
|
|
|
|
+ document.getElementsByName("newDrawer")[0].checked = true;
|
|
|
|
+ $(".count2").hide();
|
|
|
|
+ $(".count1").show();
|
|
|
|
+ }else{
|
|
|
|
+ document.getElementsByName("newDrawer")[1].checked = true;
|
|
|
|
+ $(".count1").hide();
|
|
|
|
+ $(".count2").show();
|
|
|
|
+ }
|
|
|
|
+
|
|
});
|
|
});
|
|
function setValuee(obj){
|
|
function setValuee(obj){
|
|
$.ajax({
|
|
$.ajax({
|
|
@@ -760,6 +800,58 @@
|
|
obj.value = obj.value.replace(reg, regStrs[i][1]);
|
|
obj.value = obj.value.replace(reg, regStrs[i][1]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ function validateIDCard(idCard) {
|
|
|
|
+ // 15位和18位身份证正则表达式
|
|
|
|
+ const idCardPattern = /^(^[1-9]\d{7}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$)|(^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X|x)$)$/;
|
|
|
|
+
|
|
|
|
+ // 判断身份证号格式是否正确
|
|
|
|
+ if (!idCardPattern.test(idCard)) {
|
|
|
|
+ layer.msg("身份证号不正确,请重新输入",{icon:2});
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 如果是18位身份证,需要验证最后一位校验码
|
|
|
|
+ if (idCard.length === 18) {
|
|
|
|
+ if(!validateChecksum(idCard)){
|
|
|
|
+ layer.msg("身份证号不正确,请重新输入",{icon:2});
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ function submitValidateIDCard(idCard) {
|
|
|
|
+ // 15位和18位身份证正则表达式
|
|
|
|
+ const idCardPattern = /^(^[1-9]\d{7}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}$)|(^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}(\d|X|x)$)$/;
|
|
|
|
+
|
|
|
|
+ // 判断身份证号格式是否正确
|
|
|
|
+ if (!idCardPattern.test(idCard)) {
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 如果是18位身份证,需要验证最后一位校验码
|
|
|
|
+ if (idCard.length === 18) {
|
|
|
|
+ if(!validateChecksum(idCard)){
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return true
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ function validateChecksum(idCard) {
|
|
|
|
+ const weights = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]; // 加权因子
|
|
|
|
+ const checksumDigits = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']; // 校验码
|
|
|
|
+
|
|
|
|
+ // 计算加权和
|
|
|
|
+ let sum = 0;
|
|
|
|
+ for (let i = 0; i < 17; i++) {
|
|
|
|
+ sum += parseInt(idCard[i]) * weights[i];
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 计算校验码
|
|
|
|
+ const checkDigit = checksumDigits[sum % 11];
|
|
|
|
+
|
|
|
|
+ // 比较身份证号的最后一位与计算的校验码
|
|
|
|
+ return checkDigit === idCard[17].toUpperCase();
|
|
|
|
+ }
|
|
</script>
|
|
</script>
|
|
</head>
|
|
</head>
|
|
<body>
|
|
<body>
|
|
@@ -889,6 +981,13 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-item layui-col-sm6">
|
|
<div class="layui-item layui-col-sm6">
|
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>开票类型:</label>
|
|
|
|
+ <div class="layui-input-block">
|
|
|
|
+ <input type="radio" name="newDrawer" lay-filter="newDrawerRadio" title="企业开票" value="1">
|
|
|
|
+ <input type="radio" name="newDrawer" lay-filter="newDrawerRadio" title="个人开票" value="2">
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="layui-item layui-col-sm6 count1">
|
|
<label class="layui-form-label"><span class="require-item">*</span>实际开票单位:</label>
|
|
<label class="layui-form-label"><span class="require-item">*</span>实际开票单位:</label>
|
|
<div class="layui-input-block readOnlyFFF with-icon">
|
|
<div class="layui-input-block readOnlyFFF with-icon">
|
|
<sys:gridselect url="${ctx}/workinvoice/workInvoice/selectclient" id="client" name="client.id" value="${workInvoice.client.id}" title="选择开票单位" labelName="workInvoice.client.name"
|
|
<sys:gridselect url="${ctx}/workinvoice/workInvoice/selectclient" id="client" name="client.id" value="${workInvoice.client.id}" title="选择开票单位" labelName="workInvoice.client.name"
|
|
@@ -896,34 +995,54 @@
|
|
</td>
|
|
</td>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="layui-item layui-col-sm6">
|
|
|
|
|
|
+ <div class="layui-item layui-col-sm6 count1">
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>纳税人识别号:</label>
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>纳税人识别号:</label>
|
|
<div class="layui-input-block">
|
|
<div class="layui-input-block">
|
|
<form:input id="orUnicode" path="orUnicode" placeholder="请输入纳税人识别码" htmlEscape="false" class="form-control isUscCode layui-input"/>
|
|
<form:input id="orUnicode" path="orUnicode" placeholder="请输入纳税人识别码" htmlEscape="false" class="form-control isUscCode layui-input"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="layui-item layui-col-sm6">
|
|
|
|
|
|
+ <div class="layui-item layui-col-sm6 count1">
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>注册地址:</label>
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>注册地址:</label>
|
|
<div class="layui-input-block">
|
|
<div class="layui-input-block">
|
|
<form:input id="address" path="address" placeholder="请输入注册地址" htmlEscape="false" class="form-control layui-input"/>
|
|
<form:input id="address" path="address" placeholder="请输入注册地址" htmlEscape="false" class="form-control layui-input"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="layui-item layui-col-sm6">
|
|
|
|
|
|
+ <div class="layui-item layui-col-sm6 count1">
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>电话:</label>
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>电话:</label>
|
|
<div class="layui-input-block">
|
|
<div class="layui-input-block">
|
|
<form:input id="telephone" path="telephone" placeholder="请输入电话" htmlEscape="false" class="form-control isTel layui-input"/>
|
|
<form:input id="telephone" path="telephone" placeholder="请输入电话" htmlEscape="false" class="form-control isTel layui-input"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="layui-item layui-col-sm6">
|
|
|
|
|
|
+ <div class="layui-item layui-col-sm6 count1">
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>开户银行:</label>
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>开户银行:</label>
|
|
<div class="layui-input-block">
|
|
<div class="layui-input-block">
|
|
- <form:input id ="bank" path="bank" htmlEscape="false" placeholder="请输入开户银行" class="form-control layui-input"/>
|
|
|
|
|
|
+ <select id="bank" name="bank" value="${workInvoice.bank}" lay-filter="bankFilter"></select>
|
|
|
|
+ <span id="bankRemarks" class="spanzj" style="color:red;"></span>
|
|
|
|
+ <%--<form:input id ="bank" path="bank" htmlEscape="false" placeholder="请输入开户银行" class="form-control layui-input"/>--%>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="layui-item layui-col-sm6">
|
|
|
|
|
|
+ <div class="layui-item layui-col-sm6 count1">
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>银行账号:</label>
|
|
<label class="layui-form-label"><span class="require-item invoicetype">*</span>银行账号:</label>
|
|
<div class="layui-input-block">
|
|
<div class="layui-input-block">
|
|
- <form:input id="bankNumber" path="bankNumber" htmlEscape="false" placeholder="请输入银行账号" class="form-control layui-input"/>
|
|
|
|
|
|
+ <form:input id="bankNumber" path="bankNumber" htmlEscape="false" readonly="true" placeholder="请输入银行账号" class="form-control number layui-input"/>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="layui-form-item count2">
|
|
|
|
+ <div class="layui-item layui-col-sm6">
|
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>姓名:</label>
|
|
|
|
+ <div class="layui-input-block">
|
|
|
|
+ <form:input id="newDrawerId" path="newDrawerId" htmlEscape="false" placeholder="请输入姓名" class="form-control layui-input"/>
|
|
|
|
+
|
|
|
|
+ <%--<sys:treeselect id="newDrawer" name="newDrawerId" value="${workInvoice.newDrawerId}" labelName="newDrawerName" labelValue="${workInvoice.newDrawerName}"
|
|
|
|
+ cssStyle="background-color: #fff" title="用户" url="/sys/office/treeDataAll?type=3" cssClass="form-control judgment layui-input" allowClear="true" notAllowSelectParent="true"/>--%>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="layui-item layui-col-sm6">
|
|
|
|
+ <label class="layui-form-label"><span class="require-item">*</span>身份证号:</label>
|
|
|
|
+ <div class="layui-input-block">
|
|
|
|
+ <form:input path="idCard" htmlEscape="false" onchange="validateIDCard(this.value);" class="form-control idCard layui-input required"/>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-item layui-col-sm6">
|
|
<div class="layui-item layui-col-sm6">
|