Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

sunyize 2 tahun lalu
induk
melakukan
ebf58ef750

+ 0 - 1
src/views/dataupload/modules/TaskEdit.vue

@@ -426,7 +426,6 @@ export default {
       let that = this;
       getAction(url, params).then(res => {
         if (res.success) {
-          debugger
           that.model = res.result;
         }
       }).finally(() => {

+ 2 - 3
src/views/lotCheck/modules/TaskCheckAudit.vue

@@ -1218,10 +1218,9 @@ export default {
         "priceApprovalState": priceApprovalState,
         "priceApprovalNote": that.lotData.priceApprovalModel.basicCheckNote,
         "commitmentState": commitmentState,
-        "commitmentNote": that.lotData.commitmentModel.basicCheckNote
-
+        "commitmentNote": that.lotData.commitmentModel.basicCheckNote,
+        "basicInfoState": parseInt("0"),
       }
-
       postAction(that.url.checkInfo, auditData).then(res => {
         if (res.success) {
           this.$message.success("稽核完成");

+ 1 - 1
src/views/shutdownWork/modules/TaskCheckList.vue

@@ -296,7 +296,7 @@ export default {
           dataIndex: 'updateBy'
         },
         {
-          title: '更新使时间',
+          title: '更新时间',
           align: "center",
           sorter: true,
           dataIndex: 'updateTime'

+ 565 - 43
src/views/specialApply/TaskUploadData.vue

@@ -10,9 +10,13 @@
           :rules="rules"
         >
           <!--   业务基本情况内容   -->
-          <a-card title="基础信息" :bordered="true">
+          <a-card :bordered="true">
+            <div slot="title">
+              基础信息
+              <span v-show="specialResult.basicInfoState == '1'">✅</span>
+              <span v-show="specialResult.basicInfoState == '0'">❌</span>
+            </div>
             <a-row>
-
               <a-col :span="24">
                 <a-form-model-item label="用户选择" prop="userOpenState" v-bind="labelCol1">
                   <a-radio-group v-model="model.userLable" button-style="solid" @change="changeUserLable()">
@@ -24,13 +28,13 @@
 
               <a-col :span="24">
                 <a-form-model-item label="申请复开号码" prop="openingNumber" v-bind="labelCol1">
-                  <a-input v-model="model.openingNumber" placeholder="申请复开号码"></a-input>
+                  <a-input disabled="true" v-model="model.openingNumber" placeholder="申请复开号码"></a-input>
                 </a-form-model-item>
               </a-col>
 
               <a-col :span="24">
                 <a-form-model-item label="客户名称(使用人)" prop="customerName" v-bind="labelCol1">
-                  <a-input v-model="model.customerName" placeholder="客户名称/使用人名称"></a-input>
+                  <a-input disabled="true" v-model="model.customerName" placeholder="客户名称/使用人名称"></a-input>
                 </a-form-model-item>
               </a-col>
 
@@ -42,7 +46,7 @@
 
               <a-col :span="24">
                 <a-form-model-item label="关停时间" prop="shutdownTime" v-bind="labelCol1">
-                  <a-date-picker :style="{width:'100%'}" v-model="model.shutdownTime"
+                  <a-date-picker disabled="true" :style="{width:'100%'}" v-model="model.shutdownTime"
                                  format="YYYY-MM-DD HH:mm:ss"
                                  showTime valueFormat="YYYY-MM-DD HH:mm:ss"/>
                 </a-form-model-item>
@@ -82,9 +86,89 @@
               </a-col>
             </a-row>
           </a-card>
-          <!--   附件资料   -->
-          <a-card title="身份证照片/正反面" :bordered="true">
 
+          <!--          系统实名制截图-->
+          <a-card :bordered="true">
+            <div slot="title">
+              系统实名制截图
+              <span v-show="specialResult.nameFindComplianceState == '1'">✅</span>
+              <span v-show="specialResult.nameFindComplianceState == '0'">❌</span>
+            </div>
+            <div class="clearfix">
+              <a-upload
+                listType="picture-card"
+                :fileList="nameFindCompliance"
+                :beforeUpload="beforeUploadNameFindCompliance"
+                :multiple="true"
+                :remove="handleRemoveNameFindCompliance"
+                @preview="handlePreview"
+              >
+                <div v-if="nameFindCompliance.length < 2 && specialResult.nameFindComplianceState != 1">
+                  <a-icon type="plus"/>
+                  <div class="ant-upload-text">点我上传特审单</div>
+                </div>
+              </a-upload>
+              <!-- 放大预览窗口 -->
+              <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
+                <img alt="example" style="width: 100%" :src="previewImage"/>
+              </a-modal>
+
+              <a-form-model-item  label="实名制截图备注:" v-bind="labelCol1Plus">
+                <a-textarea  :disabled="specialResult.nameFindComplianceState == 1 ? true : false" style="height: 50px"
+                  v-model="nameFindComplianceRemark"
+                  placeholder="如没有系统实名制截图,需要说明原因"
+                />
+                <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+              </a-form-model-item>
+
+<!--              备注-->
+              <li style="color: red" v-if="specialResult.nameFindComplianceState == 0 && specialResult.nameFindComplianceNote != null">
+                稽核结果备注:{{  specialResult.nameFindComplianceNote}}
+              </li>
+            </div>
+          </a-card>
+
+          <!--          材料齐不全有特审核-->
+          <a-card v-if="model.materialLabel == '0'"  :bordered="true">
+            <div slot="title">
+              特审单
+              <span v-show="specialResult.specialReviewFormState == '1'">✅</span>
+              <span v-show="specialResult.specialReviewFormState == '0'">❌</span>
+            </div>
+            <div class="clearfix">
+              <a-upload
+                listType="picture-card"
+                :fileList="specialReviewForm"
+                :beforeUpload="beforeUploadSpecialReviewForm"
+                :multiple="true"
+                :remove="handleRemoveSpecialReviewForm"
+                @preview="handlePreview"
+              >
+                <div v-if="specialReviewForm.length < 2 && specialResult.specialReviewFormState != 1">
+                  <a-icon type="plus"/>
+                  <div class="ant-upload-text">点我上传特审单</div>
+                </div>
+              </a-upload>
+
+              <!-- 放大预览窗口 -->
+              <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
+                <img alt="example" style="width: 100%" :src="previewImage"/>
+              </a-modal>
+
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.specialReviewFormState == 0 && specialResult.specialReviewFormNote != null">
+                稽核结果备注:{{  specialResult.specialReviewFormNote}}
+              </li>
+            </div>
+          </a-card>
+
+          <!--   附件资料   -->
+          <a-card :bordered="true">
+            <div slot="title">
+              身份证照片/正反面
+              <span v-show="specialResult.idCardState == '1'">✅</span>
+              <span v-show="specialResult.idCardState == '0'">❌</span>
+            </div>
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -94,7 +178,7 @@
                 :remove="handleRemoveIdCard"
                 @preview="handlePreview"
               >
-                <div v-if="fileListIdCard.length < 2">
+                <div v-if="fileListIdCard.length < 2 && specialResult.idCardState != 1">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传身份证正/反面</div>
                 </div>
@@ -105,11 +189,21 @@
                 <img alt="example" style="width: 100%" :src="previewImage"/>
               </a-modal>
 
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.idCardState == 0 && specialResult.idCardNote != null">
+                稽核结果备注:{{  specialResult.idCardNote}}
+              </li>
+
             </div>
           </a-card>
 
-          <a-card title="手持证件半身照片" :bordered="true">
-
+          <!--          手持证件半身照片-->
+          <a-card  :bordered="true">
+            <div slot="title">
+              手持证件半身照片
+              <span v-show="specialResult.handCertificateState == '1'">✅</span>
+              <span v-show="specialResult.handCertificateState == '0'">❌</span>
+            </div>
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -119,16 +213,26 @@
                 :remove="handleRemoveCertificate"
                 @preview="handlePreview"
               >
-                <div v-if="fileListHandCertificate.length < 1">
+                <div v-if="fileListHandCertificate.length < 2 && specialResult.handCertificateState != 1" >
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传手持身份证</div>
                 </div>
               </a-upload>
+
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.handCertificateState == 0 && specialResult.handCertificateNote != null">
+                稽核结果备注:{{  specialResult.handCertificateNote}}
+              </li>
             </div>
           </a-card>
 
-          <a-card v-if="model.userLable == '0'" title="号卡照片" :bordered="true">
-
+          <!--          号卡照片-->
+          <a-card v-if="model.userLable == '0'"  :bordered="true">
+            <div slot="title">
+              号卡照片
+              <span v-show="specialResult.numberCardState == '1'">✅</span>
+              <span v-show="specialResult.numberCardState == '0'">❌</span>
+            </div>
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -138,7 +242,7 @@
                 :remove="handleRemoveNumberCard"
                 @preview="handlePreview"
               >
-                <div v-if="fileListNumberCard.length < 1">
+                <div v-if="fileListNumberCard.length < 2  && specialResult.numberCardState != 1">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传号卡照片</div>
                 </div>
@@ -147,11 +251,20 @@
               <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
                 <img alt="example" style="width: 100%" :src="previewImage"/>
               </a-modal>
-
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.numberCardState == 0 && specialResult.numberCardNote != null">
+                稽核结果备注:{{  specialResult.numberCardNote}}
+              </li>
             </div>
           </a-card>
 
-          <a-card v-if="model.userLable == '1'" title="使用人证件" :bordered="true">
+          <!--          使用人证件-->
+          <a-card v-if="model.userLable == '1'"  :bordered="true">
+            <div slot="title">
+              使用人证件
+              <span v-show="specialResult.userCertificateState == '1'">✅</span>
+              <span v-show="specialResult.userCertificateState == '0'">❌</span>
+            </div>
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -162,7 +275,7 @@
                 @preview="handlePreview"
               >
 
-                <div v-if="fileListUserCertificate.length < 1">
+                <div v-if="fileListUserCertificate.length < 2  && specialResult.userCertificateState != 1 ">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传使用人证件</div>
                 </div>
@@ -173,10 +286,22 @@
                 <img alt="example" style="width: 100%" :src="previewImage"/>
               </a-modal>
 
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.userCertificateState == 0 && specialResult.userCertificateNote != null">
+                稽核结果备注:{{  specialResult.userCertificateNote}}
+              </li>
+
             </div>
           </a-card>
 
-          <a-card v-if="model.userLable == '1'" title="营业执照副本(盖公章)" :bordered="true">
+          <!--          营业执照副本(盖公章)-->
+          <a-card v-if="model.userLable == '1'" :bordered="true">
+            <div slot="title">
+              营业执照副本(盖公章)
+              <span v-show="specialResult.businessLicenseState == '1'">✅</span>
+              <span v-show="specialResult.businessLicenseState == '0'">❌</span>
+            </div>
+
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -187,7 +312,7 @@
                 @preview="handlePreview"
               >
 
-                <div v-if="fileListBusiness.length < 1">
+                <div v-if="fileListBusiness.length < 2  && specialResult.businessLicenseState != 1">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传营业执照副本(盖公章)</div>
                 </div>
@@ -198,10 +323,22 @@
                 <img alt="example" style="width: 100%" :src="previewImage"/>
               </a-modal>
 
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.businessLicenseState == 0 && specialResult.businessLicenseNote != null">
+                稽核结果备注:{{  specialResult.businessLicenseNote}}
+              </li>
+
+
             </div>
           </a-card>
 
-          <a-card v-if="model.userLable == '1'" title="介绍信" :bordered="true">
+          <!--          介绍信-->
+          <a-card v-if="model.userLable == '1'" :bordered="true">
+            <div slot="title">
+              介绍信
+              <span v-show="specialResult.letterIntroductionState == '1'">✅</span>
+              <span v-show="specialResult.letterIntroductionState == '0'">❌</span>
+            </div>
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -212,7 +349,7 @@
                 @preview="handlePreview"
               >
 
-                <div v-if="fileListIntroduction.length < 1">
+                <div v-if="fileListIntroduction.length < 2  && specialResult.letterIntroductionState != 1">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传介绍信</div>
                 </div>
@@ -223,10 +360,20 @@
                 <img alt="example" style="width: 100%" :src="previewImage"/>
               </a-modal>
 
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.letterIntroductionState == 0 && specialResult.letterIntroductionNote != null">
+                稽核结果备注:{{  specialResult.letterIntroductionNote}}
+              </li>
             </div>
           </a-card>
 
-          <a-card title="防诈骗承诺涵(使用人签署)" :bordered="true">
+          <!--          防诈骗承诺涵(使用人签署)-->
+          <a-card :bordered="true">
+            <div slot="title">
+              防诈骗承诺涵(使用人签署)
+              <span v-show="specialResult.fraudPreventionState == '1'">✅</span>
+              <span v-show="specialResult.fraudPreventionState == '0'">❌</span>
+            </div>
 
             <div class="clearfix">
               <a-upload
@@ -237,7 +384,7 @@
                 :remove="handleRemoveLetter"
                 @preview="handlePreview"
               >
-                <div v-if="fileListLetter.length < 1">
+                <div v-if="fileListLetter.length < 2  && specialResult.fraudPreventionState != 1">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传防诈骗承若涵(使用人签署)</div>
                 </div>
@@ -247,10 +394,21 @@
                 <img alt="example" style="width: 100%" :src="previewImage"/>
               </a-modal>
 
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.fraudPreventionState == 0 && specialResult.fraudPreventionNote != null">
+                稽核结果备注:{{  specialResult.fraudPreventionNote}}
+              </li>
+
             </div>
           </a-card>
 
-          <a-card v-if="model.shutdownLabel == '0'" title="消费凭证" :bordered="true">
+          <!--          消费凭证-->
+          <a-card v-if="model.shutdownLabel == '0'"  :bordered="true">
+            <div slot="title">
+              消费凭证
+              <span v-show="specialResult.consumptionVoucherState == '1'">✅</span>
+              <span v-show="specialResult.consumptionVoucherState == '0'">❌</span>
+            </div>
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -261,7 +419,7 @@
                 @preview="handlePreview"
               >
 
-                <div v-if="fileListVoucher.length < 1">
+                <div v-if="fileListVoucher.length < 2  && specialResult.consumptionVoucherState != 1 ">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传消费凭证</div>
                 </div>
@@ -272,10 +430,21 @@
                 <img alt="example" style="width: 100%" :src="previewImage"/>
               </a-modal>
 
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.consumptionVoucherState == 0 && specialResult.consumptionVoucherNote != null">
+                稽核结果备注:{{  specialResult.consumptionVoucherNote}}
+              </li>
+
             </div>
           </a-card>
 
+          <!--          承诺视频-->
           <a-card v-if="model.shutdownLabel == '5'" title="承诺视频" :bordered="true">
+            <div slot="title">
+              承诺视频
+              <span v-show="specialResult.commitmentVideoState == '1'">✅</span>
+              <span v-show="specialResult.commitmentVideoState == '0'">❌</span>
+            </div>
             <div class="clearfix">
               <a-upload
                 listType="picture-card"
@@ -286,7 +455,7 @@
                 @preview="handlePreviewVideo"
               >
 
-                <div v-if="fileListVideo.length < 1">
+                <div v-if="fileListVideo.length < 1  && specialResult.commitmentVideoState != 1">
                   <a-icon type="plus"/>
                   <div class="ant-upload-text">点我上传承诺视频</div>
                 </div>
@@ -307,11 +476,17 @@
                 ></video>
 
               </a-modal>
+              <!--              备注-->
+              <li style="color: red" v-if="specialResult.commitmentVideoState == 0 && specialResult.commitmentVideoNote != null">
+                稽核结果备注:{{  specialResult.commitmentVideoNote}}
+              </li>
+
 
             </div>
+
           </a-card>
 
-          <!--  返回按钮  -->
+          <!--  提交申请  -->
           <a-form-model-item :wrapper-col="{ span: 14, offset: 10 }" style="margin-top: 10px;">
             <a-space>
               <a-button type="primary" @click="handleUpload">
@@ -332,20 +507,33 @@
 import reqwest from 'reqwest';
 import {httpAction, postAction} from "@api/manage";
 import dayjs, {Dayjs} from 'dayjs';
+import VueAMap from "vue-amap";
 
 export default {
   name: 'TaskUploadData',
-  inject:['closeCurrent'],
+  inject: ['closeCurrent'],
   data() {
     return {
+      //结果
+      specialResult: {},
+      //上级传参
+      query: {},
       //客户信息ID
-      infoId:"",
+      infoId: "",
+      //客户资料ID
+      dataId: "",
       model: {
         "shutdownLabel": "0",
         "materialLabel": "0",
         "userLable": "0",
-        "openingNumber":""
+        "openingNumber": ""
       },
+      //系统实名制截图
+      nameFindCompliance: [],
+      //系统实名制截图备注
+      nameFindComplianceRemark: "",
+      //特审单
+      specialReviewForm: [],
       //身份证正反面
       fileListIdCard: [],
       //手持证件照片
@@ -373,9 +561,12 @@ export default {
         customerName: [
           {required: true, message: '必须输入客户名称'},
         ],
+        shutdownTime: [
+          {required: true, message: '必须选择关停时间'},
+        ]
       },
       previewVisible: false,
-      previewVideo:false,
+      previewVideo: false,
       previewImage: "",
       uploading: false,
 
@@ -405,10 +596,22 @@ export default {
           sm: {span: 18},
         }
       },
+      labelCol1Plus: {
+        labelCol: {
+          xs: {span: 24},
+          sm: {span: 2},
+        },
+        wrapperCol: {
+          xs: {span: 24},
+          sm: {span: 15},
+        }
+      },
 
       url: {
         importExcel: window._CONFIG['domainURL'] + "/smsCheck/task/importCustomerExcel",
         minioUpload: "/special/examination/upload/files",
+        findById: "/special/examination/find/id",
+        findCheckState: "/special/examination/find/check/log",
       },
 
 
@@ -452,16 +655,6 @@ export default {
       required: true
     }
   },
-  mounted() {
-    // 监听视频播放
-    this.$refs.myVideo.addEventListener("play", () => {
-      this.openTimer();
-    });
-    // 监听视频暂停
-    this.$refs.myVideo.addEventListener("pause", () => {
-      this.closeTimer();
-    });
-  },
   watch: {
     // 监听操作
     videoData(val, oldVal) {
@@ -473,8 +666,225 @@ export default {
   },
   created() {
     this.infoId = this.$route.query.id;
+    this.query.data = this.$route.query.data;
+    //复开号码
+    this.model.openingNumber = this.query.data.smsNumber
+    //客户名称
+    this.model.customerName = this.query.data.customerName
+    //关停时间
+    this.model.shutdownTime = this.query.data.shutdownLabelDate
+
+    if (this.$route.query.rectification) {
+      //整改操作获取回填信息
+      this.findById(this.infoId);
+    }
+
+  },
+  mounted() {
+    // 监听视频播放
+    this.$refs.myVideo.addEventListener("play", () => {
+      this.openTimer();
+    });
+    // 监听视频暂停
+    this.$refs.myVideo.addEventListener("pause", () => {
+      this.closeTimer();
+    });
   },
   methods: {
+
+
+    /**获取稽核结果*/
+    findCheckState(id) {
+      let that = this;
+      let model = {
+        "dataId": id,
+      }
+      postAction(this.url.findCheckState, model)
+        .then((res) => {
+          if (res.success) {
+            that.specialResult = res.result;
+          }
+        })
+    },
+
+
+    /**整改操作获取回填信息*/
+    findById(id) {
+      let that = this;
+      let model = {
+        "infoId": id,
+      }
+      postAction(this.url.findById, model)
+        .then((res) => {
+          if (res.success) {
+            this.result = res.result;
+            that.dataId = this.result.id;
+            //获取稽核结果
+            that.findCheckState(that.dataId)
+            this.model.userLable = this.result.userLable.toString();
+            this.model.openingNumber = this.result.openingNumber;
+            this.model.customerName = this.result.customerName;
+            this.model.unitName = this.result.unitName;
+            this.model.shutdownTime = this.result.shutdownTime
+            this.model.reasonReopening = this.result.reasonReopening
+            this.model.materialLabel = this.result.materialLabel.toString();
+            this.model.shutdownLabel = this.result.shutdownLabel.toString();
+            this.specialNote = this.result.specialNote;
+            this.model.status = this.result.status;
+            // //身份证正反面
+            if (this.result.idCard != null) {
+              let fileListIdCard = this.result.idCard.split(",");
+              for (var i in fileListIdCard) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: fileListIdCard[i],
+                }
+                this.fileListIdCard.push(data)
+              }
+            }
+            //手持证件照片
+            if (this.result.handCertificate != null) {
+              let handCertificate = this.result.handCertificate.split(",");
+              for (var i in handCertificate) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: handCertificate[i],
+                }
+                this.fileListHandCertificate.push(data)
+              }
+            }
+            //号卡照片
+            if (this.result.numberCard != null) {
+              let numberCard = this.result.numberCard.split(",");
+              for (var i in numberCard) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: numberCard[i],
+                }
+                this.fileListNumberCard.push(data)
+              }
+            }
+            //使用人证件
+            if (this.result.userCertificate != null) {
+              let userCertificate = this.result.userCertificate.split(",");
+              for (var i in userCertificate) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: userCertificate[i],
+                }
+                this.fileListUserCertificate.push(data)
+              }
+            }
+            //营业执照副本
+            if (this.result.businessLicense != null) {
+              let businessLicense = this.result.businessLicense.split(",");
+              for (var i in businessLicense) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: businessLicense[i],
+                }
+                this.fileListBusiness.push(data)
+              }
+            }
+            //介绍信
+            if (this.result.letterIntroduction != null) {
+              let letterIntroduction = this.result.letterIntroduction.split(",");
+              for (var i in letterIntroduction) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: letterIntroduction[i],
+                }
+                this.fileListIntroduction.push(data)
+              }
+            }
+            //防诈骗承诺涵
+            if (this.result.letterCommitment != null) {
+              let letterCommitment = this.result.letterCommitment.split(",");
+              for (var i in letterCommitment) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: letterCommitment[i],
+                }
+                this.fileListLetter.push(data)
+              }
+            }
+            //消费凭证
+            if (this.result.consumptionVoucher != null) {
+              let consumptionVoucher = this.result.consumptionVoucher.split(",");
+              for (var i in consumptionVoucher) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: consumptionVoucher[i],
+                }
+                this.fileListVoucher.push(data)
+              }
+            }
+            //承诺视频
+            if (this.result.commitmentVideo != null) {
+              let commitmentVideo = this.result.commitmentVideo.split(",");
+              for (var i in commitmentVideo) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: commitmentVideo[i],
+                }
+                this.fileListVideo.push(data)
+              }
+            }
+            //系统实名制截图
+            if (this.result.nameFindCompliance != null) {
+              let nameFindCompliance = this.result.nameFindCompliance.split(",");
+              for (var i in nameFindCompliance) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: nameFindCompliance[i],
+                }
+                this.nameFindCompliance.push(data)
+              }
+            }
+            if (this.result.nameFindComplianceRemark != null) {
+              this.nameFindComplianceRemark = this.result.nameFindComplianceRemark
+            }
+            //特审单截图
+            if (this.result.specialReviewForm != null) {
+              let specialReviewForm = this.result.specialReviewForm.split(",");
+              for (var i in specialReviewForm) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: specialReviewForm[i],
+                }
+                this.specialReviewForm.push(data)
+              }
+            }
+          } else {
+            this.$message.error("查询失败");
+          }
+        }).finally(() => {
+
+      })
+    },
+
     // 开启定时器
     openTimer() {
       this.timer = setInterval(() => {
@@ -530,6 +940,23 @@ export default {
       }
     },
 
+    beforeUploadNameFindCompliance(file) {
+      if (this.nameFindCompliance.length > 2) {//判断上传的图片数量
+        return false
+      }
+      this.exeBaseSpecialNameFindCompliance(file)
+      return false
+    },
+
+    beforeUploadSpecialReviewForm(file) {
+      if (this.specialReviewForm.length > 2) {//判断上传的图片数量
+        return false
+      }
+      this.exeBaseSpecialReviewForm(file)
+      return false
+    },
+
+
     beforeUploadIdCard(file) {
       if (this.fileListIdCard.length > 2) {//判断上传的图片数量
         return false
@@ -598,6 +1025,32 @@ export default {
       return false
     },
 
+    async exeBaseSpecialNameFindCompliance(file) {
+      await this.getBase64(file, (imageUrl) => {
+        if (this.nameFindCompliance.length < 2 && this.preventSpecialNameFindCompliance(imageUrl)) {//判断图片数量及去重
+          const file2 = file
+          file2.url = imageUrl
+          this.nameFindCompliance = [...this.nameFindCompliance, file]
+          this.loading = false
+        }
+      }).then((result) => {
+        console.log(result)
+      })
+    },
+
+    async exeBaseSpecialReviewForm(file) {
+      await this.getBase64(file, (imageUrl) => {
+        if (this.specialReviewForm.length < 2 && this.preventSpecialReviewForm(imageUrl)) {//判断图片数量及去重
+          const file2 = file
+          file2.url = imageUrl
+          this.specialReviewForm = [...this.specialReviewForm, file]
+          this.loading = false
+        }
+      }).then((result) => {
+        console.log(result)
+      })
+    },
+
 
     async exeBaseIdCard(file) {
       await this.getBase64(file, (imageUrl) => {
@@ -716,6 +1169,21 @@ export default {
       })
     },
 
+    //删除实名制截图
+    handleRemoveNameFindCompliance(file) {//删除图片
+      const index = this.nameFindCompliance.indexOf(file)
+      const newFileList = this.nameFindCompliance.slice()
+      newFileList.splice(index, 1)
+      this.nameFindCompliance = newFileList
+    },
+    //删除特审单
+    handleRemoveSpecialReviewForm(file) {//删除图片
+      const index = this.specialReviewForm.indexOf(file)
+      const newFileList = this.specialReviewForm.slice()
+      newFileList.splice(index, 1)
+      this.specialReviewForm = newFileList
+    },
+
     //删除身份证
     handleRemoveIdCard(file) {//删除图片
       const index = this.fileListIdCard.indexOf(file)
@@ -791,6 +1259,27 @@ export default {
       }
       return true
     },
+    //排除相同图片
+    preventSpecialNameFindCompliance(url) {
+      // 排除相同图片
+      for (let i = 0, len = this.nameFindCompliance.length; i < len; i++) {
+        if (this.nameFindCompliance[i].url === url) {
+          return false
+        }
+      }
+      return true
+    },
+    //排除相同图片
+    preventSpecialReviewForm(url) {
+      // 排除相同图片
+      for (let i = 0, len = this.specialReviewForm.length; i < len; i++) {
+        if (this.specialReviewForm[i].url === url) {
+          return false
+        }
+      }
+      return true
+    },
+
     //排除相同图片
     preventRepeatIdCard(url) {
       // 排除相同图片
@@ -831,7 +1320,7 @@ export default {
       }
       return true
     },
-    preventRepeatIntroduction(url){
+    preventRepeatIntroduction(url) {
       // 排除相同图片
       for (let i = 0, len = this.fileListIntroduction.length; i < len; i++) {
         if (this.fileListIntroduction[i].url === url) {
@@ -887,7 +1376,7 @@ export default {
       this.previewVisible = false;
     },
 
-    handleVideoCancel(){
+    handleVideoCancel() {
       this.previewVideo = false;
     },
 
@@ -910,6 +1399,27 @@ export default {
 
     //提交申请
     handleUpload() {
+      //材料不全有特审
+      if (this.model.materialLabel == '0') {
+        if (this.specialReviewForm.length == 0) {
+          this.$message.error("材料不全请上特审单");
+          return
+        }
+      }
+      //系统实名制截图
+      if (this.nameFindCompliance.length == 0 && this.nameFindComplianceRemark.length == 0) {
+        this.$message.error("请上传系统实名制截图,如没有截图则填写备注信息");
+        return
+      }
+
+      if (this.model.materialLabel == '1' && (this.fileListIdCard.length == 0 ||
+        this.fileListHandCertificate.length == 0 || this.fileListNumberCard.length == 0
+        || this.fileListLetter.length == 0 || this.fileListVoucher.length == 0)) {
+        this.$message.error("无特审,请上传全部材料");
+        return
+      }
+
+
       const formData = new FormData();
       formData.append('infoId', this.infoId)
       //身份证正反面
@@ -948,10 +1458,22 @@ export default {
       this.fileListVideo.forEach(file => {
         formData.append('fileListVideo', file)
       });
+      //系统实名制截图
+      this.nameFindCompliance.forEach(file => {
+        formData.append('nameFindCompliance', file)
+      });
+      //系统实名制截图备注
+      formData.append('nameFindComplianceRemark', this.nameFindComplianceRemark)
+      //特审单
+      this.specialReviewForm.forEach(file => {
+        formData.append('specialReviewForm', file)
+      });
+      //基础信息
       for (var i in this.model) {
         let modelElement = this.model[i];
         formData.append(i, modelElement)
       }
+
       this.uploading = true;
 
       httpAction(this.url.minioUpload, formData, "POST")

+ 518 - 104
src/views/specialApply/modules/TaskCheckAudit.vue

@@ -8,14 +8,13 @@
         @back="back"
       >
         <a-descriptions :title="info.customerName" :column="3" :bordered="false">
-          <a-descriptions-item label="客户编号">{{ info.customerNo }}</a-descriptions-item>
+          <a-descriptions-item label="提交材料日期">{{ info.submitSpecialDate }}</a-descriptions-item>
           <a-descriptions-item label="服务号码">{{ info.smsNumber }}</a-descriptions-item>
-          <a-descriptions-item label="用户编号">{{ info.userNo }}</a-descriptions-item>
-          <a-descriptions-item label="入网时间">{{ info.networkAccessTime }}</a-descriptions-item>
-          <a-descriptions-item label="用户状态" :span="2">{{ info.userState }}</a-descriptions-item>
-          <a-descriptions-item label="员工姓名">{{ info.staffName }}</a-descriptions-item>
-          <a-descriptions-item label="员工工号" :span="2">{{ info.staffNo }}</a-descriptions-item>
+          <a-descriptions-item label="三级部门">{{ info.staffDeptLevel3 }}</a-descriptions-item>
+          <a-descriptions-item label="负责人">{{ info.staffName }}</a-descriptions-item>
+          <a-descriptions-item label="负责人工号" :span="2">{{ info.staffNo }}</a-descriptions-item>
         </a-descriptions>
+
       </a-page-header>
 
       <a-form-model
@@ -24,7 +23,14 @@
         :wrapper-col="wrapperCol"
         :model="model"
       >
-        <a-card title="基础信息" :bordered="true">
+        <!--        基础信息-->
+        <a-card :bordered="true">
+
+          <div slot="title">
+            基础信息
+            <span v-show="specialResult.basicInfoState == '1'">✅</span>
+            <span v-show="specialResult.basicInfoState == '0'">❌</span>
+          </div>
           <a-row>
             <a-col :span="24">
               <a-form-model-item label="用户类型" prop="userOpenState" v-bind="labelCol1">
@@ -97,14 +103,84 @@
               </a-radio-group>
             </a-form-model-item>
           </a-col>
+
+
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.basicInfoState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.basicInfoNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
+
         </a-card>
+        <!--        系统实名制截图-->
+        <a-card :bordered="true">
+          <div slot="title">
+            系统实名制截图
+            <span v-show="specialResult.nameFindComplianceState == '1'">✅</span>
+            <span v-show="specialResult.nameFindComplianceState == '0'">❌</span>
+          </div>
+
+          <div class="clearfix">
+            <a-upload
+              listType="picture-card"
+              :fileList="fileListNameFindCompliance"
+              :multiple="true"
+              @preview="handlePreview"
+            >
+            </a-upload>
+            <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
+              <img alt="example" style="width: 100%" :src="previewImage"/>
+            </a-modal>
 
-        <a-card title="身份证照片/正反面" :bordered="true">
+            <div v-if="fileListNameFindCompliance.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
+            <!--              备注-->
+            <li style="color: black">
+              系统实名质截图备注:{{ nameFindComplianceRemark }}
+            </li>
+          </div>
+
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.nameFindComplianceState">
+                <a-radio :value=0>未通过</a-radio>
+                <a-radio :value=1>通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.nameFindComplianceNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
+
+        </a-card>
+        <!--        特审单-->
+        <a-card v-if="model.materialLabel == '0'" :bordered="true">
+          <div slot="title">
+            特审单
+            <span v-show="specialResult.specialReviewFormState == '1'">✅</span>
+            <span v-show="specialResult.specialReviewFormState == '0'">❌</span>
+          </div>
 
           <div class="clearfix">
             <a-upload
               listType="picture-card"
-              :fileList="fileListIdCard"
+              :fileList="fileListSpecialReviewForm"
               :multiple="true"
               @preview="handlePreview"
             >
@@ -114,26 +190,124 @@
               <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
 
+            <div v-if="fileListSpecialReviewForm.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
+
           </div>
-        </a-card>
 
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.specialReviewFormState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.specialReviewFormNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
+
+        </a-card>
 
-        <a-card title="手持证件半身照片" :bordered="true">
+        <!--        身份证照片/正反面-->
+        <a-card :bordered="true">
+          <div slot="title">
+            身份证照片/正反面
+            <span v-show="specialResult.idCardState == '1'">✅</span>
+            <span v-show="specialResult.idCardState == '0'">❌</span>
+          </div>
 
           <div class="clearfix">
             <a-upload
               listType="picture-card"
-              :fileList="fileListHandCertificate"
+              :fileList="fileListIdCard"
               :multiple="true"
               @preview="handlePreview"
             >
             </a-upload>
+
+            <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
+              <img alt="example" style="width: 100%" :src="previewImage"/>
+            </a-modal>
+
+            <div v-if="fileListIdCard.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
+
+          </div>
+
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.idCardState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.idCardNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
           </div>
+
         </a-card>
+        <!--        手持证件半身照片-->
+        <a-card :bordered="true">
+
+          <div slot="title">
+            手持证件半身照片
+            <span v-show="specialResult.handCertificateState == '1'">✅</span>
+            <span v-show="specialResult.handCertificateState == '0'">❌</span>
+          </div>
+
+          <div class="clearfix">
+            <a-upload
+              listType="picture-card"
+              :fileList="fileListHandCertificate"
+              :multiple="true"
+              @preview="handlePreview"
+            >
+            </a-upload>
+            <div v-if="fileListHandCertificate.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
 
+          </div>
 
-        <a-card v-if="model.userLable == '0'" title="号卡照片" :bordered="true">
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.handCertificateState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.handCertificateNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
 
+        </a-card>
+        <!--        号卡照片-->
+        <a-card v-if="model.userLable == '0'" :bordered="true">
+          <div slot="title">
+            号卡照片
+            <span v-show="specialResult.numberCardState == '1'">✅</span>
+            <span v-show="specialResult.numberCardState == '0'">❌</span>
+          </div>
           <div class="clearfix">
             <a-upload
               listType="picture-card"
@@ -142,15 +316,38 @@
               @preview="handlePreview"
             >
             </a-upload>
+            <div v-if="fileListNumberCard.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
             <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
               <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
+          </div>
 
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.numberCardState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.numberCardNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
           </div>
         </a-card>
-
-
-        <a-card v-if="model.userLable == '1'" title="使用人证件" :bordered="true">
+        <!--        使用人证件-->
+        <a-card v-if="model.userLable == '1'" :bordered="true">
+          <div slot="title">
+            使用人证件
+            <span v-show="specialResult.userCertificateState == '1'">✅</span>
+            <span v-show="specialResult.userCertificateState == '0'">❌</span>
+          </div>
           <div class="clearfix">
             <a-upload
               listType="picture-card"
@@ -159,15 +356,40 @@
               @preview="handlePreview"
             >
             </a-upload>
+            <div v-if="fileListUserCertificate.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
 
             <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
               <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
 
           </div>
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.userCertificateState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.userCertificateNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
         </a-card>
+        <!--        营业执照副本(盖公章)-->
+        <a-card v-if="model.userLable == '1'" :bordered="true">
 
-        <a-card v-if="model.userLable == '1'" title="营业执照副本(盖公章)" :bordered="true">
+          <div slot="title">
+            营业执照副本(盖公章)
+            <span v-show="specialResult.businessLicenseState == '1'">✅</span>
+            <span v-show="specialResult.businessLicenseState == '0'">❌</span>
+          </div>
           <div class="clearfix">
             <a-upload
               listType="picture-card"
@@ -182,11 +404,35 @@
             <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
               <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
+            <div v-if="fileListBusiness.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
 
           </div>
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.businessLicenseState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.businessLicenseNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
         </a-card>
-
-        <a-card v-if="model.userLable == '1'" title="介绍信" :bordered="true">
+        <!--        介绍信-->
+        <a-card v-if="model.userLable == '1'" :bordered="true">
+          <div slot="title">
+            介绍信
+            <span v-show="specialResult.letterIntroductionState == '1'">✅</span>
+            <span v-show="specialResult.letterIntroductionState == '0'">❌</span>
+          </div>
           <div class="clearfix">
             <a-upload
               listType="picture-card"
@@ -200,13 +446,36 @@
             <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
               <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
+            <div v-if="fileListIntroduction.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
 
           </div>
-        </a-card>
-
-
-        <a-card title="防诈骗承诺涵(使用人签署)" :bordered="true">
 
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.letterIntroductionState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.letterIntroductionNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
+        </a-card>
+        <!--        防诈骗承诺涵(使用人签署)-->
+        <a-card :bordered="true">
+          <div slot="title">
+            防诈骗承诺涵(使用人签署)
+            <span v-show="specialResult.fraudPreventionState == '1'">✅</span>
+            <span v-show="specialResult.fraudPreventionState == '0'">❌</span>
+          </div>
           <div class="clearfix">
             <a-upload
               listType="picture-card"
@@ -214,17 +483,41 @@
               :multiple="true"
               @preview="handlePreview"
             >
-
             </a-upload>
 
             <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
               <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
+            <div v-if="fileListLetter.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
 
           </div>
-        </a-card>
 
-        <a-card v-if="model.shutdownLabel == '0'" title="消费凭证" :bordered="true">
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.fraudPreventionState">
+                <a-radio :value=0>未通过</a-radio>
+                <a-radio :value=1>通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.fraudPreventionNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
+          </div>
+        </a-card>
+        <!--        消费凭证-->
+        <a-card v-if="model.shutdownLabel == '0'" :bordered="true">
+          <div slot="title">
+            消费凭证
+            <span v-show="specialResult.consumptionVoucherState == '1'">✅</span>
+            <span v-show="specialResult.consumptionVoucherState == '0'">❌</span>
+          </div>
           <div class="clearfix">
             <a-upload
               listType="picture-card"
@@ -232,17 +525,42 @@
               :multiple="true"
               @preview="handlePreview"
             >
-
             </a-upload>
             <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
               <img alt="example" style="width: 100%" :src="previewImage"/>
             </a-modal>
+            <div v-if="fileListVoucher.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
+          </div>
+
 
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.consumptionVoucherState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.consumptionVoucherNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
           </div>
-        </a-card>
 
+        </a-card>
 
-        <a-card v-if="model.shutdownLabel == '5'" title="承诺视频" :bordered="true">
+        <!--        承诺视频-->
+        <a-card v-if="model.shutdownLabel == '5'" :bordered="true">
+          <div slot="title">
+            承诺视频
+            <span v-show="specialResult.commitmentVideoState == '1'">✅</span>
+            <span v-show="specialResult.commitmentVideoState == '0'">❌</span>
+          </div>
           <div class="clearfix">
             <a-upload
               listType="picture-card"
@@ -265,21 +583,28 @@
                 class="video-box"
                 style="width: 470px;height:330px"
               ></video>
-
             </a-modal>
 
-
+            <div v-if="fileListVideo.length == 0">
+              <img style="width: 204px;height: 150px"
+                   :src="noDataPng" border="1">
+            </div>
+          </div>
+          <div>
+            <a-form-model-item label="稽核状态" prop="basicCheckState" v-bind="labelCol1">
+              <a-radio-group v-model="specialResult.commitmentVideoState">
+                <a-radio :value="0">未通过</a-radio>
+                <a-radio :value="1">通过</a-radio>
+              </a-radio-group>
+            </a-form-model-item>
+            <a-form-model-item label="稽核结果" prop="basicCheckNote" v-bind="labelCol1">
+              <a-textarea
+                v-model="specialResult.commitmentVideoNote"
+                placeholder="请输入稽核结果"
+              />
+              <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
+            </a-form-model-item>
           </div>
-        </a-card>
-
-        <a-card :bordered="true">
-          <a-form-model-item label="稽核结果" prop="basicCheckNote">
-            <a-textarea
-              v-model="specialNote"
-              placeholder="请输入合同内容的稽核结果"
-            />
-            <!--            :auto-size="{ minRows: 3, maxRows: 5 }"-->
-          </a-form-model-item>
         </a-card>
 
 
@@ -291,29 +616,15 @@
         :wrapper-col="wrapperCol"
         :model="model"
       >
-        <a-form-model-item style="margin-top: 10px;">
-          <a-col :span="8">
-          </a-col>
-          <a-col :span="6">
-
-            <a-button style="width: 100px" type="vertical" @click="rejectSpecial">
-              驳回
-            </a-button>
+        <a-form-model-item style="margin-top: 30px;">
+          <a-col :span="11">
           </a-col>
           <a-col :span="6">
-            <a-button style="width: 100px" type="primary" @click="adoptSpecial">
-              通过
-            </a-button>
-            <a-modal v-model:visible="adoptVisible" title="设置复开时间" @ok="adoptOk">
-              <a-form-item :wrapper-col="{ span: 14, offset: 2}">
-                <span>复开时间:</span>
-                <a-date-picker valueFormat="YYYY-MM-DD HH:mm:ss" v-model="reopenTime" show-time placeholder="请选择复开时间"/>
-              </a-form-item>
-            </a-modal>
 
+            <a-col :span="6">
+              <a-button style="width: 100px" type="primary" @click="submitSpecial">提交稽核</a-button>
+            </a-col>
           </a-col>
-
-
         </a-form-model-item>
 
 
@@ -326,17 +637,20 @@
 
 <script>
 import '@/assets/less/TableExpand.less'
-import {mixinDevice} from '@/utils/mixin'
-import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-import {postAction, deleteAction, httpAction, getAction} from "@api/manage";
-
+import {httpAction, getAction, postAction} from '@api/manage'
 import {message} from 'ant-design-vue'
+import {JeecgListMixin} from "@/mixins/JeecgListMixin";
+/*无数据图片*/
+import noDataPng from '@/assets/nodata.png'
 
+let Base64 = require('js-base64').Base64
 export default {
-  name: "Details",
+  mixins: [JeecgListMixin],
   inject: ['closeCurrent'],
   data() {
     return {
+      noDataPng: noDataPng,
+      dataId: "",
       description: '详情页面',
       specialNote: "",
       model: {
@@ -345,6 +659,51 @@ export default {
         "userLable": "0",
         "openingNumber": ""
       },
+      //结果
+      specialResult: {
+        //基础信息
+        basicInfoState: null,
+        basicInfoNote: "",
+        //系统实名截图
+        nameFindComplianceState: null,
+        nameFindComplianceNote: "",
+        //特审单
+        specialReviewFormState: null,
+        specialReviewFormNote: "",
+        //身份证照片/正反面
+        idCardState: null,
+        idCardNote: "",
+        //手持证件半身照片
+        handCertificateState: null,
+        handCertificateNote: "",
+        //号卡照片
+        numberCardState: null,
+        numberCardNote: "",
+        //使用人证件
+        userCertificateState: null,
+        userCertificateNote: "",
+        //营业执照
+        businessLicenseState: null,
+        businessLicenseNote: "",
+        //介绍信
+        letterIntroductionState: null,
+        letterIntroductionNote: "",
+        //防诈骗承诺函
+        fraudPreventionState: null,
+        fraudPreventionNote: "",
+        //消费凭证
+        consumptionVoucherState: null,
+        consumptionVoucherNote: "",
+        //承诺视频
+        commitmentVideoState: null,
+        commitmentVideoNote: "",
+      },
+      //系统实名制截图
+      fileListNameFindCompliance: [],
+      //系统实名制截图备注
+      nameFindComplianceRemark: "",
+      //特审单
+      fileListSpecialReviewForm: [],
       //身份证正反面
       fileListIdCard: [],
       //手持证件照片
@@ -371,7 +730,6 @@ export default {
       adoptVisible: false,
       reopenTime: "",
 
-
       tipsMessage: "",
       tipType: "",
 
@@ -399,55 +757,82 @@ export default {
           sm: {span: 18},
         }
       },
-
-      info: {},
-
+      info: {
+        dataId: "",
+      },
       url: {
         findById: "/special/examination/find/id",
         adopt: "/special/examination/status/adopt",
         queryInfo: "/smsCheck/customerInfo/queryById",
+        submitSpecial: "/special/examination/check/info",
+        //list:"",
       },
-
       result: {},
 
     }
   },
-  props: {
-    poster: {
-      type: String,
-      required: false,
-      default: ""
-    },
-    src: {
-      type: String,
-      required: true
-    },
-    controls: {
-      type: Boolean,
-      required: false,
-      default: true
-    },
-    control: {
-      type: Boolean,
-      required: false,
-      default: false
-    },
-    videoData: {
-      type: Object,
-      required: true
-    }
-  },
   created() {
     this.info.id = this.$route.query.id;
     this.queryInfoById(this.info.id);
-
   },
   mounted() {
     this.findById(this.info.id)
-
   },
-
   methods: {
+    /**提交稽核*/
+    submitSpecial() {
+      let that = this
+      let specialResult = that.specialResult;
+      let materialLabel = that.model.materialLabel;
+      let userLable = that.model.userLable;
+      //有特审
+      if (materialLabel == '0') {
+        if (specialResult.specialReviewFormState == null) {
+          that.$message.warn("请完成相关稽核");
+          return;
+        }
+      }
+      //必稽核项
+      if (specialResult.basicInfoState == null || specialResult.nameFindComplianceState == null
+        || specialResult.idCardState == null || specialResult.handCertificateState == null ||
+        specialResult.fraudPreventionState == null) {
+        that.$message.warn("请完成相关稽核");
+        return;
+      }
+      if (userLable == '0') {
+        if (specialResult.numberCardState == null) {
+          that.$message.warn("请完成相关稽核");
+          return;
+        }
+      }
+      if (userLable == '1') {
+        if (specialResult.userCertificateState == null || specialResult.businessLicenseState == null
+          || specialResult.letterIntroductionState) {
+          that.$message.warn("请完成相关稽核");
+          return;
+        }
+      }
+      if (userLable == '5') {
+        if (specialResult.commitmentVideoState == null) {
+          that.$message.warn("请完成相关稽核");
+          return;
+        }
+      }
+      let SpecialParams = {}
+      SpecialParams = that.specialResult
+      SpecialParams['dataId'] = that.dataId
+      SpecialParams['infoId'] = that.info.id
+      postAction(that.url.submitSpecial, SpecialParams).then(res => {
+        if (res.success) {
+          this.$message.success("稽核完成");
+          this.$router.go(-1);
+          this.closeCurrent();
+        }
+      }).finally(() => {
+
+      })
+    },
+
     /**获取客户信息*/
     queryInfoById(id) {
       let url = this.url.queryInfo;
@@ -460,7 +845,7 @@ export default {
           that.info = res.result
           //当前状态
           let checkState = that.info.checkState;
-          that.info.statusFilter = this.statusFilter(checkState);
+          //that.info.statusFilter = this.statusFilter(checkState);
 
         }
       }).finally(() => {
@@ -482,7 +867,7 @@ export default {
       let model = {
         "infoId": this.info.id,
         reopenTime: this.reopenTime,
-        status:5
+        status: 5
       }
       postAction(this.url.adopt, model)
         .then((res) => {
@@ -507,7 +892,7 @@ export default {
       let model = {
         "infoId": this.info.id,
         specialNote: this.specialNote,
-        status:4
+        status: 4
       }
       postAction(this.url.adopt, model)
         .then((res) => {
@@ -622,6 +1007,7 @@ export default {
     },
 
     findById(id) {
+      let that = this;
       let model = {
         "infoId": id,
       }
@@ -629,16 +1015,19 @@ export default {
         .then((res) => {
           if (res.success) {
             this.result = res.result;
+            that.dataId = this.result.id;
             this.model.userLable = this.result.userLable.toString();
             this.model.openingNumber = this.result.openingNumber;
             this.model.customerName = this.result.customerName;
             this.model.unitName = this.result.unitName;
             this.model.shutdownTime = this.result.shutdownTime
-            this.model.reasonReopening = this.result.reasonReopening
+            this.model.reasonReopening = this.result.reasonReopening == null ? '无' : this.result.reasonReopening
             this.model.materialLabel = this.result.materialLabel.toString();
             this.model.shutdownLabel = this.result.shutdownLabel.toString();
             this.specialNote = this.result.specialNote;
             this.model.status = this.result.status;
+            //系统实名质截图备注
+            that.nameFindComplianceRemark = this.result.nameFindComplianceRemark;
             if (this.model.status == 1) {
               this.tipType = "success"
               this.tipsMessage = "审批通过 复开时间:"
@@ -751,7 +1140,6 @@ export default {
                 this.fileListVoucher.push(data)
               }
             }
-
             if (this.result.commitmentVideo != null) {
               let commitmentVideo = this.result.commitmentVideo.split(",");
               for (var i in commitmentVideo) {
@@ -765,6 +1153,33 @@ export default {
               }
             }
 
+            if (this.result.nameFindCompliance != null) {
+              let nameFindCompliance = this.result.nameFindCompliance.split(",");
+              for (var i in nameFindCompliance) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: nameFindCompliance[i],
+                }
+                this.fileListNameFindCompliance.push(data)
+              }
+            }
+
+
+            if (this.result.specialReviewForm != null) {
+              let specialReviewForm = this.result.specialReviewForm.split(",");
+              for (var i in specialReviewForm) {
+                let data = {
+                  uid: "-" + i,
+                  name: 'image.png',
+                  status: 'done',
+                  url: specialReviewForm[i],
+                }
+                this.fileListSpecialReviewForm.push(data)
+              }
+            }
+
 
           } else {
             this.$message.error("查询失败");
@@ -772,7 +1187,6 @@ export default {
         }).finally(() => {
 
       })
-
     },
 
     //点击关闭图片预览

File diff ditekan karena terlalu besar
+ 569 - 437
src/views/specialApply/modules/TaskCheckDetails.vue


+ 61 - 35
src/views/specialApply/modules/TaskCheckList.vue

@@ -59,6 +59,9 @@
 
       <!-- 操作按钮区域 -->
       <div class="table-operator">
+        <a-button v-has="'specialApply:task:check:import:custiom'" type="primary" icon="download"
+                  @click="importCustiom">导入客户
+        </a-button>
         <a-button type="primary" icon="download" @click="handleExportXls('客户列表')">导出</a-button>
         <!-- 高级查询区域 -->
         <a-dropdown v-if="selectedRowKeys.length > 0">
@@ -99,8 +102,14 @@
 
           <template slot="action" slot-scope="text, record">
 
-            <span v-has="'special:task:check:list:upload:improve'" v-if="record.checkState == 0 || record.checkState == 1 || record.checkState == 4">
-              <a @click="showImproveAndUpload(record)">上传资料</a>
+            <span v-has="'special:task:check:list:upload:improve'"
+                  v-if="record.checkState == 0 || record.checkState == 1">
+              <a @click="showImprove(record)">上传资料</a>
+              <a-divider type="vertical"/>
+            </span>
+
+            <span v-has="'special:task:check:list:upload:improve'" v-if="record.checkState == 4">
+              <a @click="showUpload(record)">整改</a>
               <a-divider type="vertical"/>
             </span>
 
@@ -211,58 +220,75 @@ export default {
           scopedSlots: {customRender: 'rowIndex'}
         },
         {
-          title: '客户名称',
-          align: "left",
-          sorter: true,
+          title: '提交材料日期',
+          align: "center",
+          dataIndex: 'submitSpecialDate'
+        },
+        {
+          title: '机主姓名',
+          align: "center",
+          width: 60,
           dataIndex: 'customerName',
           scopedSlots: {customRender: 'customerName'}
         },
         {
-          title: '客户编号',
+          title: '号',
           align: "center",
-          sorter: true,
-          dataIndex: 'customerNo'
+          dataIndex: 'smsNumber'
         },
         {
-          title: '服务号码(全)',
+          title: '关停标签',
           align: "center",
-          dataIndex: 'smsNumber'
+          dataIndex: 'shutdownLabel'
         },
         {
-          title: '用户编号',
+          title: '漫游被关停日期(ABM查询)',
           align: "center",
-          dataIndex: 'userNo'
+          dataIndex: 'shutdownLabelDate'
         },
         {
-          title: '入网时间',
+          title: '三级部门',
           align: "center",
-          sorter: true,
-          dataIndex: 'networkAccessTime'
+          dataIndex: 'staffDeptLevel3'
         },
         {
-          title: '用户状态',
+          title: '复开时间',
           align: "center",
-          dataIndex: 'userState',
-          customRender: function (text, record, index) {
-            if (text === '1') {
-              return '在用';
-            } else if (text === '2') {
-              return '拆机';
-            }
-            return text;
-          }
+          dataIndex: 'reopenTime'
         },
         {
-          title: '员工姓名',
+          title: '有无特审单',
+          align: "center",
+          dataIndex: 'materialLabel'
+        },
+        {
+          title: '是否自查实名制合规',
+          align: "center",
+          dataIndex: 'nameFindCompliance'
+        },
+        {
+          title: '负责人',
           align: "center",
           dataIndex: 'staffName'
         },
         {
-          title: '员工工号',
+          title: '负责人工号',
           align: "center",
           sorter: true,
           dataIndex: 'staffNo'
         },
+        {
+          title: '导入时间',
+          align: "center",
+          sorter: true,
+          dataIndex: 'createTime'
+        },
+        {
+          title: '更新时间',
+          align: "center",
+          sorter: true,
+          dataIndex: 'updateTime'
+        },
         {
           title: '稽核进度',
           align: "center",
@@ -327,6 +353,10 @@ export default {
     }
   },
   methods: {
+    /**导入客户列表*/
+    importCustiom() {
+      this.$router.push({path: '/specialApply/task/import', query: {id: this.task.id}});
+    },
     // 返回上一级
     goBack() {
       this.$router.go(-1);
@@ -334,16 +364,12 @@ export default {
       this.closeCurrent();
     },
     // 上传客户资料
-    showImproveAndUpload(record){
-      this.$router.push({path: '/specialApply/data/upload', query: {id: record.id}});
-    },
-    // 显示完善页面
     showImprove(record) {
-      this.$router.push({path: '/sms/check/data/edit', query: {id: record.id}});
+      this.$router.push({path: '/specialApply/data/upload', query: {id: record.id, data: record}});
     },
-    // 显示上传页面
+    // 整改
     showUpload(record) {
-      this.$router.push({path: '/sms/check/data/upload', query: {id: record.id}});
+      this.$router.push({path: '/specialApply/data/upload', query: {id: record.id, data: record,rectification:true}});
     },
     // 显示上传页面
     handSubmit(record) {
@@ -379,7 +405,7 @@ export default {
     },
     // 显示稽核详情页面
     showCheckDetail(record) {
-      this.$router.push({path: '/specialApply/modules/TaskCheckDetails', query: {id: record.id}});
+      this.$router.push({path: '/specialApply/modules/TaskCheckDetails', query: {id: record.id, data: record}});
     },
     // 显示稽核历史页面
     showCheckLog(record) {

+ 289 - 0
src/views/specialApply/modules/TaskImport.vue

@@ -0,0 +1,289 @@
+<template>
+  <a-spin :spinning="spinningAdd">
+    <div>
+      <a-page-header
+        style="background-color: #FFFFFF;"
+        title="客户资料导入"
+        sub-title="1、先选择客户资料,进行导入前预览。2、信息无误后再确认导入"
+        @back="goBack"
+      >
+        <a-descriptions :title="task.taskName" size="small" :column="3">
+          <a-descriptions-item label="状态">
+            <a-tag :color="task.taskStateColor">{{ task.taskStateText }}</a-tag>
+          </a-descriptions-item>
+          <a-descriptions-item label="开始时间">{{ task.taskStartTime }}</a-descriptions-item>
+          <a-descriptions-item label="结束时间">{{ task.taskEndTime }}</a-descriptions-item>
+          <a-descriptions-item label="描述"><span v-html="task.description"></span></a-descriptions-item>
+          <!--{{task.description}}-->
+        </a-descriptions>
+        <a-divider style="margin: 6px;"/>
+      </a-page-header>
+
+      <a-card :bordered="false" style="margin-top: -22px;">
+        <!-- 操作按钮区域 start -->
+        <div class="table-operator">
+          <a-upload name="file"
+                    :showUploadList="false"
+                    :multiple="false"
+                    :headers="tokenHeader"
+                    :action="url.importExcel"
+                    @change="uploadChange">
+            <a-button type="primary" icon="upload">客户资料选择</a-button>
+          </a-upload>
+          <a-button type="primary" icon="import"
+                    @click="importInfo">确定导入
+          </a-button>
+        </div>
+        <!-- 操作按钮区域 end -->
+
+        <!-- table区域 begin -->
+        <div>
+          <a-table
+            ref="table"
+            size="middle"
+            bordered
+            :scroll="{x:true}"
+            :columns="columns"
+            :dataSource="dataSource"
+            :pagination="false"
+            :loading="loading"
+            class="j-table-force-nowrap"
+            :rowClassName='getRowBackGround'
+            @change="handleTableChange">
+
+          </a-table>
+        </div>
+        <!-- table区域 end -->
+
+      </a-card>
+
+    </div>
+  </a-spin>
+
+
+</template>
+
+<script>
+
+import {JeecgListMixin} from '@/mixins/JeecgListMixin'
+import {getAction, httpAction} from '@api/manage'
+
+export default {
+  name: 'TaskImport',
+  mixins: [JeecgListMixin],
+  data() {
+    return {
+      //加载属性
+      spinningAdd: false,
+      description: '导入页面',
+      autoSearch: false,
+      dataSource: [],
+      errorCount: 0,
+      task: {},
+      // 表头
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
+        },
+        {
+          title: '提交材料日期',
+          align: "center",
+          dataIndex: 'submitSpecialDate'
+        },
+        {
+          title: '机主姓名',
+          align: "center",
+          dataIndex: 'customerName'
+        },
+        {
+          title: '号码',
+          align: "center",
+          dataIndex: 'smsNumber'
+        },
+        {
+          title: '关停标签',
+          align: "center",
+          dataIndex: 'shutdownLabel'
+        },
+        {
+          title: '漫游被关停日期(ABM查询)',
+          align: "center",
+          dataIndex: 'shutdownLabelDate'
+        },
+        {
+          title: '三级部门',
+          align: "center",
+          dataIndex: 'staffDeptLevel3'
+        },
+        {
+          title: '复开时间',
+          align: "center",
+          dataIndex: 'reopenTime'
+        },
+        {
+          title: '有无特审单',
+          align: "center",
+          dataIndex: 'materialLabel'
+        },
+        {
+          title: '是否自查实名制合规',
+          align: "center",
+          dataIndex: 'nameFindCompliance'
+        },
+        {
+          title: '导入结果',
+          align: "center",
+          dataIndex: 'result',
+          customRender: function (text, record, index) {
+            if (text == "1") {
+              return '成功'
+            } else if (text == "0") {
+              return '失败'
+            }
+            return '';
+          }
+        },
+        {
+          title: '错误结果',
+          align: "center",
+          dataIndex: 'errorMsg'
+        },
+      ],
+      url: {
+        importExcel: window._CONFIG['domainURL'] + "/special/examination/importCustomerExcel",
+        importData: "/special/examination/taskId/importCustomerData",
+        queryTask: "/smsCheck/task/queryById",
+      },
+    }
+  },
+  created() {
+    this.task.id = this.$route.query.id;
+    this.queryInfoById(this.task.id);
+  },
+  methods: {
+    // 返回上一级
+    goBack() {
+      this.$router.go(-1);
+      this.closeCurrent();
+    },
+    /**
+     * 上传事件回调
+     *
+     * @param result 回调值
+     */
+    uploadChange(result) {
+      let file = result.file;
+      let event = result.event;
+      if (event === undefined && file.status === 'uploading') {
+        this.$message.info('开始上传');
+      }
+      if (event && file.status === 'uploading') {
+        this.$message.info('上传中,请稍等……');
+      }
+      if (file.response) {
+        let success = file.response.success;
+        let message = file.response.message;
+        if (!success) {
+          this.$message.error(message);
+        }
+        if (file.status === 'done') {
+          this.dataSource = file.response.result.data;
+          this.errorCount = file.response.result.errorCount;
+          if (this.errorCount > 0) {
+            this.$message.error('导入含有错误项,请检查内容')
+          } else {
+            this.$message.info('上传完成');
+          }
+        }
+      }
+
+    },
+    /**
+     * 导入信息
+     */
+    importInfo() {
+      if (this.dataSource.length === 0) {
+        this.$message.error('暂无导入数据,请上传导入文件!');
+        return;
+      }
+      if (this.errorCount !== 0) {
+        this.$message.error('包含非法数据,无法导入!');
+        return;
+      }
+
+      this.$message.info('开始导入,请稍等……');
+      this.spinningAdd = true;
+      let httpUrl = this.url.importData.replaceAll("taskId", this.task.id);
+      let params = this.dataSource;
+      let method = 'POST';
+      let that = this;
+      // 发送请求
+      httpAction(httpUrl, params, method)
+        .then((res) => {
+          if (res.success) {
+            that.dataSource = res.result
+            that.$message.success(res.message);
+            that.$emit('ok');
+            that.visible = false;
+          } else {
+            that.$message.warning(res.message);
+          }
+          this.spinningAdd = false;
+        }).finally(() => {
+        that.confirmLoading = false;
+        this.spinningAdd = false;
+      })
+    },
+    /**整行换色*/
+    getRowBackGround(recordAlarm) {
+      switch (recordAlarm.result) {//这里根据条件改变表格背景色
+        case "0":
+          return "table-color-error"
+      }
+    },
+
+    getTaskState(taskState) {
+      if (taskState === 0) {
+        this.task.taskStateColor = '#fadb14';
+        this.task.taskStateText = '未开始';
+      } else if (taskState === 1) {
+        this.task.taskStateColor = '#1890ff';
+        this.task.taskStateText = '稽核中';
+      } else if (taskState === 2) {
+        this.task.taskStateColor = '#52c41a';
+        this.task.taskStateText = '稽核完成';
+      }
+    },
+    queryInfoById(id) {
+      let url = this.url.queryTask;
+      let params = {
+        id: id
+      }
+      let that = this;
+      getAction(url, params).then(res => {
+        if (res.success) {
+          that.task = res.result;
+          that.getTaskState(that.task.taskState);
+        }
+      }).finally(() => {
+
+      })
+    },
+  }
+}
+</script>
+
+<style>
+.table-color-error {
+  color: rgba(255, 0, 0, 0.82);
+  /*background-color: rgba(255, 0, 0, 0.82);*/
+}
+
+</style>

+ 0 - 1
src/views/specialApply/modules/TaskList.vue

@@ -54,7 +54,6 @@
     <!-- 操作按钮区域 -->
     <div class="table-operator">
       <a-button @click="handleAdd" v-has="'task:list:add'" type="primary" icon="plus">新增</a-button>
-      <a-button @click="showImport" v-has="'task:list:import'" type="primary" icon="import">导入客户</a-button>
       <a-button type="primary" v-has="'task:list:export'" icon="download" @click="handleExportXls('稽核任务')">导出任务
       </a-button>
       <!-- 高级查询区域 -->

+ 0 - 3
src/views/statistics/SmsCheckStatistics.vue

@@ -17,9 +17,6 @@
         </a-card>
       </a-col>
 
-
-
-
       <!-- 查询区域 -->
       <a-col :span="19">
         <div class="table-page-search-wrapper">

+ 29 - 4
src/views/truckCheck/TaskUploadData.vue

@@ -599,7 +599,7 @@
                   :beforeUpload="importBeforeUpload"
                   @change="importHandleChange"
                 >
-                  <div v-if="lotData.contractFiles.length < 10">
+                  <div v-if="truckData.contractFiles.length < 10">
                     <a-icon type="plus"/>
                     <div class="ant-upload-text">点我上传合同</div>
                   </div>
@@ -714,7 +714,7 @@
                   :beforeUpload="importBeforeUpload"
                   @change="importHandleChange"
                 >
-                  <div v-if="lotData.contractFiles.length < 10">
+                  <div v-if="truckData.contractFiles.length < 10">
                     <a-icon type="plus"/>
                     <div class="ant-upload-text">点我上传合同</div>
                   </div>
@@ -835,7 +835,7 @@
                   :beforeUpload="importBeforeUpload"
                   @change="importHandleChange"
                 >
-                  <div v-if="lotData.contractFiles.length < 10">
+                  <div v-if="truckData.contractFiles.length < 10">
                     <a-icon type="plus"/>
                     <div class="ant-upload-text">点我上传合同</div>
                   </div>
@@ -952,7 +952,7 @@
                   :beforeUpload="importBeforeUpload"
                   @change="importHandleChange"
                 >
-                  <div v-if="lotData.contractFiles.length < 10">
+                  <div v-if="truckData.contractFiles.length < 10">
                     <a-icon type="plus"/>
                     <div class="ant-upload-text">点我上传合同</div>
                   </div>
@@ -1262,8 +1262,33 @@ export default {
 
       next: "",
       prev: "",
+
       //客户信息ID
       infoId: "",
+      lotData: {
+        //客户类型
+        customType: "0",
+        //使用场景
+        scene: "0",
+        //正式卡/测试卡
+        blockType: "model",
+        //价格管控
+        control: "controlN",
+        //合同文件
+        contractFiles: [],
+        //责任人和经办人授权书
+        empowerFiles: [],
+        //责任人和经办人身份证
+        idCardFiles: [],
+        //客户证件扫描
+        scanningFiles: [],
+        //风险评估表
+        riskFiles: [],
+        //价格审批表
+        priceFiles: [],
+        //测试卡申请单
+        testCardApplication: []
+      },
       truckData: {
         //客户类型
         customType: "0",

+ 1 - 1
src/views/truckCheck/modules/TaskAdd.vue

@@ -59,7 +59,7 @@ export default {
       visible: false,
       disableSubmit: false,
       model:{
-        type:3
+        type:4
       },
       // 1列
       labelCol1 : {

+ 2 - 2
src/views/truckCheck/modules/TaskList.vue

@@ -8,7 +8,7 @@
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="任务名称">
               <j-input placeholder="请输入任务名称" v-model="queryParam.taskName"></j-input>
-              <j-input style="display: none" placeholder="请输入任务名称" v-model="queryParam.type = 3"></j-input>
+              <j-input style="display: none" placeholder="请输入任务名称" v-model="queryParam.type = 4"></j-input>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -249,7 +249,7 @@ export default {
     this.queryParam.taskState = this.$route.query.state;
     //直接加载url.list接口数据
     let queryParam = {
-      "type":3,
+      "type":4,
       "column": "createTime",
       'order': "desc"
     }

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini