sunyize 2 anni fa
parent
commit
df2c11df9b

+ 4 - 1
src/views/networkAccess/registration.vue

@@ -96,7 +96,7 @@
               <!--              </a-col>-->
               <a-col :span="6">
                 <div>
-                    <div  style="float:left;margin: 10px 3px;">  <div class="redInfo"  v-if="showIdCardAddress">*</div> 证件地址:</div>
+                    <div  style="float:left;margin: 10px 3px;">  <div class="redInfo"  v-if="showIdCardAddress">*</div>证件地址:</div>
                     <!--                  <a-radio-group v-model="model.cardName" button-style="solid" prop="cardNo">-->
                   <div style="float:left;margin: 5px 0px;">
                     <a-input v-model="model.idCardAddress" placeholder="证件地址"  id="idCardAddress"  @blur="showCheck0('idCardAddress')" :disabled="isDisabled"></a-input>
@@ -1630,6 +1630,9 @@ export default {
 
     // 校验身份证
     validateCardNo(rule, value, callback) {
+      if (value===null || value ===''){
+        callback();
+      }
       if (value.length === 16 || value.length === 18) {
         if (!value || new RegExp(/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{7}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$)/).test(value)) {
           // 若是将证件地址改为必输

+ 50 - 26
src/views/networkAccess/registrationSelect.vue

@@ -1371,22 +1371,22 @@ export default {
           this.dataList[i].cardStartTimeAndEnd='否'
         }
       }
-      if(result[i].cardNo!==null && result[i].cardNo!==''){
-        if (result[i].cardNo.length===18){
+      if (result[i].cardNo !== null && result[i].cardNo !== '') {
+        if (result[i].cardNo.length === 18 || result[i].cardNo.length === 15) {
           var birthday = result[i].cardNo.substring(6, 14);
           var year = birthday.substring(0, 4);
           // 计算年龄
           var currentYear = new Date().getFullYear();
-          var age = currentYear - parseInt(year);
-          if (age>=60){
-            age=age+'岁(老年人)'
+          // var age = currentYear - parseInt(year);
+          var age = result[i].age;
+          if (age >= 60) {
+            age = age + '岁(年龄偏大)'
           }
-          if (age<=23){
-            age=age+'岁(在校生)'
+          if (age <= 23) {
+            age = age + '岁(年龄偏小)'
           }
-          this.dataList[i].age=age;
+          this.dataList[i].age = age;
         }
-
       }
       if (result[i].sysBusinessHall!==null &&result[i].sysBusinessHall!=='' ){
         for (var item of this.sysCompany) {
@@ -2686,25 +2686,49 @@ export default {
       that.riskShow=true
       Object.keys(dataLists[0]).forEach(function (key) {
         var map ={};
-        if (key==='cardNo'){
-          var birthday = dataLists[0]['cardNo'].substring(6, 14);
-          var year = birthday.substring(0, 4);
+        if (key === 'cardNo') {
+          if (dataLists[0]['cardNo'] !== null && dataLists[0]['cardNo'] !== undefined) {
+            if (dataLists[0]['cardNo'].length === 18 || dataLists[0]['cardNo'].length === 15) {
+              var len = (dataLists[0]['cardNo']+ "").length;
+              var identityCard  =dataLists[0]['cardNo'];
+              if (len == 0) {
+                return 0;
+              } else {
+                if ((len != 15) && (len != 18))//身份证号码只能为15位或18位其它不合法
+                {
+                  return 0;
+                }
+              }
+              var strBirthday = "";
+              if (len == 18)//处理18位的身份证号码从号码中得到生日和性别代码
+              {
+                strBirthday = identityCard.substr(6, 4) + "/" + identityCard.substr(10, 2) + "/" + identityCard.substr(12, 2);
+              }
+              if (len == 15) {
+                strBirthday = "19" + identityCard.substr(6, 2) + "/" + identityCard.substr(8, 2) + "/" + identityCard.substr(10, 2);
+              }
+              //时间字符串里,必须是“/”
+              var birthDate = new Date(strBirthday);
+              var nowDateTime = new Date();
+              var age = nowDateTime.getFullYear() - birthDate.getFullYear();
+              //再考虑月、天的因素;.getMonth()获取的是从0开始的,这里进行比较,不需要加1
+              if (nowDateTime.getMonth() < birthDate.getMonth() || (nowDateTime.getMonth() == birthDate.getMonth() && nowDateTime.getDate() < birthDate.getDate())) {
+                age--;
+              }
 
-          // 计算年龄
-          var currentYear = new Date().getFullYear();
-          var age = currentYear - parseInt(year);
-          if (age>=60){
-            age=age+'(老年人)'
-            map.name ='【入网提示卡】客户年龄: '  ;
-            map.text = age ;
-            that.dataRisk.push(map)
-          }
-          if (age<=23){
-            age=age+'(可能是在校生)'
-            map.name ='【入网提示卡】客户年龄: '  ;
-            map.text = age ;
-            that.dataRisk.push(map)
+              if (age >= 60) {
+                map.name = '【入网提示卡】客户年龄:【' + age + '】';
+                map.text = '年龄偏大';
+                that.dataRisk.push(map)
+              }
+              if (age <= 23) {
+                map.name = '【入网提示卡】客户年龄:【' + age + '】';
+                map.text = '年龄偏小';
+                that.dataRisk.push(map)
+              }
+            }
           }
+
         }
         //身份证是否到期
         if (key==='cardStartTimeAndEnd'){

+ 50 - 26
src/views/networkAccess/registrationUpdate.vue

@@ -1371,22 +1371,22 @@ export default {
           this.dataList[i].cardStartTimeAndEnd='否'
         }
       }
-      if(result[i].cardNo!==null && result[i].cardNo!==''){
-        if (result[i].cardNo.length===18){
+      if (result[i].cardNo !== null && result[i].cardNo !== '') {
+        if (result[i].cardNo.length === 18 || result[i].cardNo.length === 15) {
           var birthday = result[i].cardNo.substring(6, 14);
           var year = birthday.substring(0, 4);
           // 计算年龄
           var currentYear = new Date().getFullYear();
-          var age = currentYear - parseInt(year);
-          if (age>=60){
-            age=age+'岁(老年人)'
+          // var age = currentYear - parseInt(year);
+          var age = result[i].age;
+          if (age >= 60) {
+            age = age + '岁(年龄偏大)'
           }
-          if (age<=23){
-            age=age+'岁(在校生)'
+          if (age <= 23) {
+            age = age + '岁(年龄偏小)'
           }
-          this.dataList[i].age=age;
+          this.dataList[i].age = age;
         }
-
       }
       if (result[i].sysBusinessHall!==null &&result[i].sysBusinessHall!=='' ){
         for (var item of this.sysCompany) {
@@ -2689,25 +2689,49 @@ export default {
       that.riskShow=true
       Object.keys(dataLists[0]).forEach(function (key) {
         var map ={};
-        if (key==='cardNo'){
-          var birthday = dataLists[0]['cardNo'].substring(6, 14);
-          var year = birthday.substring(0, 4);
+        if (key === 'cardNo') {
+          if (dataLists[0]['cardNo'] !== null && dataLists[0]['cardNo'] !== undefined) {
+            if (dataLists[0]['cardNo'].length === 18 || dataLists[0]['cardNo'].length === 15) {
+              var len = (dataLists[0]['cardNo']+ "").length;
+              var identityCard  =dataLists[0]['cardNo'];
+              if (len == 0) {
+                return 0;
+              } else {
+                if ((len != 15) && (len != 18))//身份证号码只能为15位或18位其它不合法
+                {
+                  return 0;
+                }
+              }
+              var strBirthday = "";
+              if (len == 18)//处理18位的身份证号码从号码中得到生日和性别代码
+              {
+                strBirthday = identityCard.substr(6, 4) + "/" + identityCard.substr(10, 2) + "/" + identityCard.substr(12, 2);
+              }
+              if (len == 15) {
+                strBirthday = "19" + identityCard.substr(6, 2) + "/" + identityCard.substr(8, 2) + "/" + identityCard.substr(10, 2);
+              }
+              //时间字符串里,必须是“/”
+              var birthDate = new Date(strBirthday);
+              var nowDateTime = new Date();
+              var age = nowDateTime.getFullYear() - birthDate.getFullYear();
+              //再考虑月、天的因素;.getMonth()获取的是从0开始的,这里进行比较,不需要加1
+              if (nowDateTime.getMonth() < birthDate.getMonth() || (nowDateTime.getMonth() == birthDate.getMonth() && nowDateTime.getDate() < birthDate.getDate())) {
+                age--;
+              }
 
-          // 计算年龄
-          var currentYear = new Date().getFullYear();
-          var age = currentYear - parseInt(year);
-          if (age>=60){
-            age=age+'(老年人)'
-            map.name ='【入网提示卡】客户年龄: '  ;
-            map.text = age ;
-            that.dataRisk.push(map)
-          }
-          if (age<=23){
-            age=age+'(可能是在校生)'
-            map.name ='【入网提示卡】客户年龄: '  ;
-            map.text = age ;
-            that.dataRisk.push(map)
+              if (age >= 60) {
+                map.name = '【入网提示卡】客户年龄:【' + age + '】';
+                map.text = '年龄偏大';
+                that.dataRisk.push(map)
+              }
+              if (age <= 23) {
+                map.name = '【入网提示卡】客户年龄:【' + age + '】';
+                map.text = '年龄偏小';
+                that.dataRisk.push(map)
+              }
+            }
           }
+
         }
         //身份证是否到期
         if (key==='cardStartTimeAndEnd'){

+ 56 - 19
src/views/networkAccess/userStatistics.vue

@@ -219,7 +219,7 @@
 
           </template>
           <template v-slot:status="text, record">
-            <a-badge :color="text | statusEscalationColor"  :text="text | escalationFilter"/>
+            <a-badge :color="record | statusEscalationColor"  :text="record | escalationFilter"/>
           </template>
           <template v-slot:createBy="text, record">
             <a @click="showByCreateBy(record)">{{text}}</a>
@@ -487,14 +487,24 @@ export default {
       }
       return statusTypeMap[type]
     },
-    statusEscalationColor(type) {
-      const statusTypeMap = {
-        '2': 'green',
-        '1': 'yellow',
-        '0': 'gray',
+    statusEscalationColor(record) {
+      let statusTypeMap ={}
+      if(record.numberResults.indexOf('1')!==-1){
+        statusTypeMap = {
+          '2': 'green',
+          '1': 'yellow',
+          '0': 'green',
+        }
+      }else {
+        statusTypeMap = {
+          '2': 'green',
+          '1': 'yellow',
+          '0': 'gray',
+        }
       }
-      console.log(statusTypeMap[type])
-      return statusTypeMap[type]
+
+
+      return statusTypeMap[record.status]
     },
 
     currentFilter(status) {
@@ -515,13 +525,27 @@ export default {
       return statusTypeMap[type]
     },
 
-    escalationFilter(status) {
-      const statusMap = {
-        '0': '新建未报',
-        '1':'已报分公司',
-        '2': '上报成功'
+    escalationFilter(record) {
+      let statusMap ={}
+      if(record.numberResults.indexOf('1')!==-1){
+         statusMap = {
+          '0': '新建未报(无需上报)',
+          '1':'已报分公司',
+          '2': '上报成功'
+        }
+      }else {
+         statusMap = {
+          '0': '新建未报',
+          '1':'已报分公司',
+          '2': '上报成功'
+        }
       }
-      return statusMap[status]
+      // statusMap = {
+      //   '0': '新建未报',
+      //   '1':'已报分公司',
+      //   '2': '上报成功'
+      // }
+      return statusMap[record.status]
     },
   },
   created() {
@@ -543,6 +567,11 @@ export default {
       if (this.selectionRows.length===0){
         return this.$message.warning('请重新选择数据...', 3);
       }
+      for (let s = 0; s < this.selectionRows.length; s++) {
+        if(this.selectionRows[s].numberResults.indexOf('1')!==-1){
+          return this.$message.warning('选中数据存在非高危数据(请重新选择)...', 3);
+        }
+      }
       for (let i = 0; i < this.selectionRows.length; i++) {
         if(this.selectionRows[i].status==='2'){
           return this.$message.warning('选中数据中存在上报成功的数据...', 3);
@@ -830,6 +859,10 @@ export default {
 
     },
     showImproveAndUploadAdminCom(record,status) {
+
+        if(record.numberResults.indexOf('1')!==-1) {
+          return this.$message.warning('选中数据存在非高危数据(请重新选择)...', 3);
+        }
       //上报分公司
        if (record.status==='1'){
          return this.$message.warning('上报状态为已上报分公司 请勿重复操作', 3);
@@ -851,6 +884,9 @@ export default {
     },
     showImproveAndUploadAdmin(record,status) {
       //上报
+      if(record.numberResults.indexOf('1')!==-1) {
+        return this.$message.warning('选中数据存在非高危数据(请重新选择)...', 3);
+      }
       if (record.status==='0'){
         return this.$message.warning('上报状态为新建未报 请先进行上报分公司', 3);
       }
@@ -882,6 +918,11 @@ export default {
       this.loadData(null,queryParam);
     },
     showImproveAndUploadList() {
+      for (let s = 0; s < this.selectionRows.length; s++) {
+        if(this.selectionRows[s].numberResults.indexOf('1')!==-1){
+          return this.$message.warning('选中数据存在非高危数据(请重新选择)...', 3);
+        }
+      }
       for (let i = 0; i < this.selectionRows.length; i++) {
         if(this.selectionRows[i].status==='2'){
           return this.$message.warning('选中数据中存在上报成功的数据...', 3);
@@ -892,11 +933,7 @@ export default {
           return this.$message.warning('选中数据中存在新建未报的数据...', 3);
         }
       }
-      for (let s = 0; s < this.selectionRows.length; s++) {
-        if(this.selectionRows[s].numberResults.indexOf('1')!==-1){
-          return this.$message.warning('选中数据存在非高危数据(请重新选择)...', 3);
-        }
-      }
+
 
       let data = {
         ids: this.selectedRowKeys,