| | |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-row> |
| | | <el-col :span="5"> |
| | | <el-form-item label="报销单号" prop="bh"> |
| | | <el-input v-model="form.bh" :disabled="true" placeholder="报销单号" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请日期" prop="applyTime"> |
| | | <el-date-picker clearable :disabled="true" style="width: 100%" v-model="form.applyTime" type="date" |
| | | value-format="yyyy-MM-dd HH:mm:ss" placeholder="日 期"> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="所属组别" prop="deptmentname"> |
| | | <el-input v-model="form.deptmentname" placeholder="请输入所属组别" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="组长" prop="managername"> |
| | | <el-input v-model="form.managername" placeholder="请输入组长" clearable /> |
| | | <el-form-item label="联系电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入联系电话" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | }}</el-radio> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <el-col :span="5"> |
| | | <el-form-item label="联系电话" prop="phone"> |
| | | <el-input v-model="form.phone" placeholder="请输入联系电话" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献者" prop="name"> |
| | | <el-input :disabled="true" v-model="form.donorname" placeholder="请输入捐献者姓名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5" v-if="ismanager == true"> |
| | | <el-form-item label="申请金额" prop="pretaxcost"> |
| | | <el-input v-model="form.pretaxcost" placeholder="税前金额合计" :disabled="true" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="所属组别" prop="deptmentname"> |
| | | <el-input v-model="form.deptmentname" placeholder="请输入所属组别" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="5"> |
| | | <el-form-item label="组长" prop="managername"> |
| | | <el-input v-model="form.managername" placeholder="请输入组长" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row style="text-align: left"> |
| | | <el-col :span="8"> |
| | | <el-col :span="5"> |
| | | <el-form-item label="捐献案例" prop="name"> |
| | | <el-input :disabled="true" v-model="form.donorname" placeholder="请输入捐献者姓名" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="10"> |
| | | <el-form-item label="申请说明" prop="remark"> |
| | | <el-input v-model="form.remark" placeholder="申请说明" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | <!-- |
| | | <el-col :span="5"> |
| | | <el-form-item label="申请状态" prop="recordstatus"> |
| | |
| | | <el-row style="margin-top: 25px; margin-bottom: 5px" |
| | | v-if="operationType == 'check' && userprofile.nickName == '陈慕华'"> |
| | | <el-col :span="20"> |
| | | <el-form-item label="申请材料状态" prop="infoid"> |
| | | <el-form-item label="预审材料" prop="infoid"> |
| | | <el-radio-group v-model="form.checkstatus" align="left"> |
| | | <el-radio :label="1">待申请材料</el-radio> |
| | | <el-radio :label="2">审核通过等待邮寄纸质材料</el-radio> |
| | |
| | | <el-form-item label="账户来源" prop="accountfrom" class="left-align"> |
| | | <el-radio-group v-model="accountfrom" style="margin-bottom: 0"> |
| | | <el-radio label="1">从账户库</el-radio> |
| | | <el-radio label="2">新增账户(新增后需要审核确认才能启用)</el-radio> |
| | | <el-radio label="2">新增账户(新增专家账户后需要审核启用才能使用)</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2'"> |
| | | <el-col :span="16"><el-form-item label="新增类型" prop="usertype"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="新增类型" prop="usertype" class="left-align"> |
| | | <el-radio-group v-model="accountselectform.usertype" style="margin-bottom: 0" |
| | | @change="userTypeChange(accountselectform.usertype)"> |
| | | <el-radio label="expert">新增专家账号</el-radio> |
| | | <el-radio label="org">新增单位账号</el-radio> |
| | | <el-radio label="expert">专家账号</el-radio> |
| | | <el-radio label="org">单位账号</el-radio> |
| | | <el-radio label="donor">捐献者亲属账号</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2'"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="账号名称" prop="username"> |
| | | <el-input v-model="accountselectform.username" placeholder="请输入单位名称或专家姓名" /> |
| | | <el-input v-model="accountselectform.username" placeholder="请输入单位名称,或专家姓名,或其他账号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-input v-model="accountselectform.idcardno" placeholder="请输入身份证号" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-col :span="12" v-if="accountselectform.usertype == 'expert'"> |
| | | <el-form-item label="职称" prop="title"> |
| | | <el-select v-model="accountselectform.title" placeholder="请选择人员职称"> |
| | | <el-option v-for="dict in dict.type.sys_professionaltitle" :key="dict.value" :label="dict.label" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype != 'org'"> |
| | | <el-row v-if="selectionType == 'account' && accountfrom == '2' && accountselectform.usertype == 'expert'"> |
| | | <el-col> |
| | | <el-form-item label="所在单位" prop="unitno"> |
| | | <el-select v-model="accountselectform.unitno" placeholder="单位名称" clearable filterable allow-create |
| | |
| | | reason: [{ required: true, message: "请输入出差事由", trigger: "blur" }], |
| | | deptmentname: [{ required: true, message: "请输入所属业务组", trigger: "blur" }] |
| | | }, |
| | | |
| | | |
| | | dialogrules: { |
| | | usertype: [{ required: true, message: "请输入账户类型", trigger: "blur" }], |
| | | username: [{ required: true, message: "请输入账户名称", trigger: "blur" }], |
| | |
| | | this.reset(); |
| | | |
| | | getFund(this.curId).then(response => { |
| | | console.log(response.data, "初始"); |
| | | |
| | | this.form = response.data; |
| | | sessionStorage.removeItem("apiform"); |
| | | |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | |
| | | // this.form.recordstate =-1; |
| | |
| | | this.reset(); |
| | | |
| | | getFund(this.curId).then(response => { |
| | | console.log(response.data, "初始"); |
| | | |
| | | this.form = response.data; |
| | | sessionStorage.removeItem("apiform"); |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | |
| | | //业务明细 |
| | | getownFundDetail(this.curId).then(res => { |
| | | this.rbDetails = res.data; |
| | | console.log("this.feeBlocks", this.feeBlocks); |
| | | |
| | | for (let m = 0; m < this.rbDetails.length; m++) { |
| | | this.rbDetails[m].itemlist = []; |
| | | this.getRowFeeItems(m, this.rbDetails[m]); |
| | |
| | | //获取费用项目的详细信息 |
| | | this.rbDetails[m].rowfeeblocks = this.feeBlocks.filter( |
| | | r => r.itemid == this.rbDetails[m].itemid |
| | | ); |
| | | console.log( |
| | | "this.rbDetails[m].rowfeeblocks", |
| | | this.rbDetails[m].rowfeeblocks |
| | | ); |
| | | } |
| | | |
| | |
| | | this.reset(); |
| | | |
| | | getFund(this.curId).then(response => { |
| | | console.log(response.data, "初始"); |
| | | this.form = response.data; |
| | | sessionStorage.removeItem("apiform"); |
| | | |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | |
| | | //附件处理 |
| | |
| | | return; |
| | | } |
| | | |
| | | /* |
| | | if ( |
| | | tempDetail.idcardno == null && |
| | | this.businessType != "3" && |
| | | this.businessType != "4" |
| | | ) { |
| | | console.log(1122); |
| | | this.$modal.msgWarning( |
| | | "服务项目表中,第" + |
| | | (k + 1).toString() + |
| | | "行的身份证未完善,请先填写身份证后再提交保存!" |
| | | ); |
| | | return; |
| | | } |
| | | */ |
| | | |
| | | if (this.businessType == "1") { |
| | | if (tempDetail.servicesscope == null) { |
| | | this.$modal.msgWarning( |
| | |
| | | sessionStorage.setItem("apiform", JSON.stringify(this.form)); |
| | | addorupdateFund(this.form) |
| | | .then(response => { |
| | | console.log(this.form); |
| | | console.log(response, "保存返参"); |
| | | if (response.code === 200) { |
| | | if (this.form.id) { |
| | | this.$modal.msgSuccess("申请单修改成功!"); |
| | |
| | | }); |
| | | }, 500), |
| | | |
| | | //审批提交 |
| | | // checksubmit() { |
| | | // console.log(this.checkObj.flowlevelone); |
| | | // if ( |
| | | // this.form.checkstatus != 3 && |
| | | // this.userprofile.nickName == "陈慕华" && |
| | | // this.checkObj.flowlevelone == 1 |
| | | // ) { |
| | | // this.$modal.msgError("请选确认材料状态已收到!"); |
| | | // return; |
| | | // } |
| | | // this.Savenow(); |
| | | // console.log("保存并审批"); |
| | | // }, |
| | | checksubmit() { |
| | | console.log(this.checkObj.flowlevelone); |
| | | if (this.userprofile.nickName == "陈慕华") { |
| | | //检查是否收到纸质材料 |
| | | if (this.form.checkstatus != 3 && this.checkObj.flowlevelone == 1) { |
| | | this.$modal.msgError("请确认报销的纸质材料已经收到!"); |
| | | //检查是否收到纸质材料 |
| | | if (this.checkObj.flowlevelone == 2) { |
| | | if (!this.checkObj.flowconclusion) { |
| | | this.$modal.msgError("请输入审核不通过的说明信息,方便经办人修改申请单!"); |
| | | return; |
| | | } |
| | | } |
| | | else if (this.checkObj.flowlevelone == 1) { |
| | | if (this.userprofile.nickName == "陈慕华") { |
| | | //检查是否收到纸质材料 |
| | | if (this.form.checkstatus != 3 && this.checkObj.flowlevelone == 1) { |
| | | this.$modal.msgError("请先确认报销的纸质材料是否已经收到!"); |
| | | return; |
| | | } |
| | | |
| | | //检查个税计算 |
| | | // if ( (this.form.applytype == "1" || this.form.applytype == "2") && this.form.fundtaxtime == null ) { |
| | | // this.$modal.msgError( |
| | | // "提交专家费用申请单、伦理专家申请费用申请单审核,需要先完成个税计算!" |
| | | // ); |
| | | // return; |
| | | // } |
| | | if (this.form.applytype == "1" && this.form.fundtaxtime == null) { |
| | | this.$modal.msgError("提交专家费用申请单审核,需要先完成个税计算!"); |
| | | return; |
| | | //检查个税计算 |
| | | if (this.form.applytype == "1" && this.form.fundtaxtime == null) { |
| | | this.$modal.msgError("提交专家费用申请单审核,需要先完成个税计算!"); |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | this.$modal.msgError("请先选择审批结果再提交!"); |
| | | return; |
| | | } |
| | | |
| | | this.Savenow(); |
| | |
| | | getUserProfile() { |
| | | getUserProfile().then(res => { |
| | | this.userprofile = res.data; |
| | | console.log(this.userprofile); |
| | | this.standardlevel = res.data.standardlevel; |
| | | if ( |
| | | this.userprofile.userName == "admin" || |
| | |
| | | }); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | for (let j = 0; j < this.accountlist.length; j++) { |
| | | //单位账号列表 |
| | | if (this.accountlist[j].usertype == "org") { |
| | | this.feeAccountList.push({ |
| | | id: this.accountlist[j].id, |
| | | reportNo: this.accountlist[j].userno, |
| | | reportName: this.accountlist[j].username, |
| | | depositbank: this.accountlist[j].depositbank, |
| | | branchbankname: this.accountlist[j].branchbankname, |
| | | bankcardno: this.accountlist[j].bankcardno |
| | | }); |
| | | } |
| | | //专家账号列表 |
| | | else if (res.rows[j].usertype == "expert") { |
| | | this.expertAccountList.push({ |
| | | expertNo: this.accountlist[j].id, |
| | | exportName: this.accountlist[j].username+"("+this.accountlist[j].id+")" |
| | | }); |
| | | } |
| | | } |
| | | */ |
| | | }); |
| | | }, |
| | | |
| | |
| | | getUserAccount() { |
| | | this.accountlist.map(res => { |
| | | if (res.username == this.form.username) { |
| | | this.form.bankname = res.depositbank; //res.branchbankname、res.depositbank; |
| | | this.form.bankname = res.depositbank; |
| | | this.form.bankcardno = res.bankcardno; |
| | | this.form.phone = res.telephone; |
| | | } |
| | |
| | | listOrganization(3).then(response => { |
| | | for (let i = 0; i < response.rows.length; i++) { |
| | | this.unitList.push({ |
| | | //organizationid: response.rows[i].organizationid, |
| | | organizationid: response.rows[i].id, |
| | | organizationname: response.rows[i].organizationname |
| | | }); |
| | |
| | | //获取服务项目 |
| | | getRowFeeItems(rowindex, row) { |
| | | let list = this.feeItemTypes.filter(r => r.itemType == row.applytype); |
| | | console.log(list[0]); |
| | | row.itemlist = list[0].itemDetails; |
| | | this.$set(this.rbDetails, rowindex, row); |
| | | }, |
| | |
| | | row.amount = 0.0; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = item.expense; |
| | | |
| | | //计算税前金额 |
| | | // this.calculateTax(row, "B"); |
| | | } else { |
| | | row.amount = item.expense; |
| | | row.taxamount = 0.0; |
| | | row.taxedamount = 0.0; |
| | | |
| | | //计算税后金额 |
| | | // this.calculateTax(row, "A"); |
| | | } |
| | | |
| | | // this.form.serviceFunddetails = 0; |
| | | // this.rbDetails.map(item => { |
| | | // this.form.serviceFunddetails += item.amount; |
| | | // }); |
| | | } |
| | | }); |
| | | }, |
| | |
| | | } |
| | | targetValue += parseFloat(this.rbDetails[i].amount); // 假设每个对象中的特定值存储在'specificValue'属性下 |
| | | } |
| | | console.log(targetValue, "合计"); |
| | | this.form.pretaxcost = targetValue; |
| | | }, |
| | | |
| | |
| | | // 手动计算 |
| | | Manualcalculationfn() { |
| | | ManualCalculation(this.rbDetails).then(res => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | sessionStorage.removeItem("apiform"); |
| | | sessionStorage.removeItem("apifunddetail"); |
| | |
| | | rowfeeblocks: [], |
| | | annexfiles: null |
| | | }; |
| | | // if (this.Reminderquantity >= 5) { |
| | | // this.Savereminder = true; |
| | | // return; |
| | | // } |
| | | if (rowIndex == undefined || rowIndex == null || rowIndex < 0) { |
| | | this.rbDetails.push(rowData); |
| | | } else { |
| | |
| | | uploadSccess(response, file, fileList) { |
| | | this.rbDetails; |
| | | //获取票据信息位置 |
| | | console.log(response); |
| | | console.log(file); |
| | | if (this.activeName == 1) { |
| | | if (response.code == 200) { |
| | | // this.form.filename = file.raw.name; |
| | |
| | | this.pdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + response.fileName |
| | | ); |
| | | console.log(this.pdfimgsrcList); |
| | | this.pdftitle = "共" + this.pdfimgsrcList.length + "项"; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | this.rbDetails[this.atpresent].annexfilesList = this.fileListto; |
| | |
| | | } |
| | | } else { |
| | | if (response.code == 200) { |
| | | // this.form.filename = file.raw.name; |
| | | this.previewpdf = true; |
| | | this.$modal.msgSuccess(response.msg); |
| | | this.invoicefileListto.push({ |
| | |
| | | this.invoicepdfimgsrcList.push( |
| | | this.Networkheader + "/prod-api" + response.fileName |
| | | ); |
| | | console.log(this.invoicepdfimgsrcList); |
| | | this.pdftitle = "共" + this.invoicepdfimgsrcList.length + "项"; |
| | | this.pdfimg = this.Networkheader + "/prod-api" + response.fileName; |
| | | this.rbDetails[ |
| | | this.atpresent |
| | | ].invoicefilesList = this.invoicefileListto; |
| | | console.log(this.rbDetails[this.atpresent]); |
| | | } else { |
| | | console.log(response.msg); |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.tableDatatop.push(row); |
| | | this.atpresent = index; |
| | | this.pdfVisible = true; |
| | | console.log(this.rbDetails[index]); |
| | | if (this.rbDetails[index].annexfilesList) { |
| | | this.previewpdf = true; |
| | | this.fileListto = this.rbDetails[index].annexfilesList; |
| | | console.log(this.fileListto); |
| | | this.pdfimg = this.Networkheader + "/prod-api" + this.fileListto[0].url; |
| | | this.fileListto.forEach(item => { |
| | | this.pdfimgsrcList.push(this.Networkheader + "/prod-api" + item.url); |
| | |
| | | if (this.rbDetails[index].invoicefilesList) { |
| | | this.previewpdf = true; |
| | | this.invoicefileListto = this.rbDetails[index].invoicefilesList; |
| | | console.log(this.invoicefileListto); |
| | | this.invoicepdfimg = |
| | | this.Networkheader + "/prod-api" + this.invoicefileListto[0].url; |
| | | this.invoicefileListto.forEach(item => { |
| | |
| | | this.Networkheader + "/prod-api" + item.url |
| | | ); |
| | | }); |
| | | console.log(this.invoicepdfimgsrcList); |
| | | console.log(this.invoicepdfimg); |
| | | } else { |
| | | this.invoicefileListto = []; |
| | | this.invoicepdfimg = ""; |
| | |
| | | // 点击已上传文件 |
| | | downFile(item) { |
| | | if (this.activeName == 1) { |
| | | console.log(item, "点击文件拿item"); |
| | | this.pdftitle = |
| | | "共" + this.pdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | |
| | | this.previewpdf = false; |
| | | } |
| | | } else { |
| | | console.log(item, "点击文件拿item"); |
| | | this.pdftitle = |
| | | "共" + this.invoicepdfimgsrcList.length + "项,当前选中" + item.name; |
| | | let name = item.name.split("."); |
| | |
| | | this.previewpdf = true; |
| | | if (item.url) { |
| | | this.invoicepdfimg = this.Networkheader + "/prod-api" + item.url; |
| | | console.log(this.invoicepdfimg, "pdfimg"); |
| | | console.log(this.invoicepdfimgsrcList, "imglist"); |
| | | } else { |
| | | this.invoicepdfimg = |
| | | this.Networkheader + "/prod-api" + item.response.url; |
| | |
| | | } |
| | | }, |
| | | Downloadfile(row) { |
| | | console.log(row); |
| | | window.location.href = this.Networkheader + "/prod-api" + row.url; |
| | | }, |
| | | |
| | |
| | | this.accountselectform.expertunitname = scope.row.unitname; |
| | | this.accountselectform.expertunitno = scope.row.unitno; |
| | | } |
| | | |
| | | this.showselectiondialog = true; |
| | | }, |
| | | |
| | |
| | | } else if (this.accountfrom == "2") { |
| | | //保存新增账号 |
| | | //获取用户编号 |
| | | // this.accountform.userno = this.accountlist[this.accountlist.length - 1].id + 1; |
| | | getOnlyCode(this.seqnoParams).then((res) => { |
| | | this.accountform.userno = res.data.currentvalue; |
| | | this.accountform.id = null; |
| | |
| | | this.accountform.del_flag = "0"; |
| | | this.accountform.personnelunitno = null; |
| | | |
| | | if (this.accountselectform.usertype != "org") { |
| | | if (this.accountselectform.usertype == "expert") { |
| | | this.accountform.unitno = this.accountselectform.unitno; |
| | | this.unitList.map(res => { |
| | | if (res.organizationid == this.accountform.unitno) { |
| | |
| | | } |
| | | }); |
| | | } |
| | | |
| | | addExternalperson(this.accountform).then(response => { |
| | | if (response.code == 200) { |
| | | this.$modal.msgSuccess("新账户信息已添加成功,需要在账号状态启用后才能被使用!"); |
| | | if (this.accountselectform.usertype == "expert") { |
| | | this.$modal.msgSuccess("新账户信息已添加成功,需要在账号状态启用后才能被使用!"); |
| | | return; |
| | | } else { |
| | | this.$modal.msgSuccess("新账户信息已添加成功!"); |
| | | } |
| | | |
| | | /** |
| | | this.accountselectform.accountno = this.accountselectform.userno; |
| | | this.accountselectform.accountname = this.accountselectform.username; |
| | | |
| | | |
| | | //重新获取账户列表 |
| | | listExternalperson().then(res => { |
| | | this.accountlist = res.rows; |
| | | |
| | | |
| | | //赋值信息 |
| | | this.accountlist.map(res => { |
| | | if (res.username == this.accountselectform.accountname) { |
| | | this.rbDetails[tempIndex].beneficiaryno = res.userno; |
| | | this.rbDetails[tempIndex].beneficiaryname = res.username; |
| | | this.rbDetails[tempIndex].depositbank = res.depositbank; |
| | | this.rbDetails[tempIndex].branchbankname = |
| | | res.branchbankname; |
| | | this.rbDetails[tempIndex].branchbankname = res.branchbankname; |
| | | this.rbDetails[tempIndex].bankcardno = res.bankcardno; |
| | | this.rbDetails[tempIndex].phone = res.telephone; |
| | | |
| | | |
| | | if (res.usertype == "org") { |
| | | this.rbDetails[tempIndex].idcardno = ""; |
| | | this.rbDetails[tempIndex].title = ""; |
| | |
| | | } |
| | | }); |
| | | }); |
| | | */ |
| | | |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | |
| | | } |
| | | } else if (this.selectionType == "workunit") { |
| | | if (this.rbDetails[tempIndex].unitname != this.accountselectform.expertunitname) { |
| | |
| | | this.showselectiondialog = false; |
| | | }); |
| | | }, |
| | | |
| | | tableParValueChange(row, tto) { |
| | | const regex = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}([0-9]|X)$/; |
| | | if (tto) { |
| | |
| | | } |
| | | return; |
| | | } |
| | | console.log(11); |
| | | |
| | | if (regex.test(row.idcardno)) { |
| | | row.error = ""; |
| | | } else { |