Selaa lähdekoodia

个贷报告审核

wucl 1 vuosi sitten
vanhempi
commit
884b199aa1

+ 9 - 0
src/api/modules/personalProduction.js

@@ -15,5 +15,14 @@ export default {
    },
    downloadPkg(params){
       return request.get(`personalProduction/downloadPkg/${params}`)
+   },
+   checkPass(params){
+      return request.get(`personalProduction/pass/${params}`)
+   },
+   inWareHouse(params){
+      return request.post(`personalProduction/in`,params)
+   },
+   outWareHouse(params){
+      return request.post(`personalProduction/out`,params)
    }
 }

+ 3 - 0
src/api/modules/personalTarget.js

@@ -44,5 +44,8 @@ export default {
   }, 
   updateSellingAbility(params){
     return request.put(`personalTarget/sellingAbility`, params)
+  },
+  doFeedback(params){
+    return request.put(`personalTarget/doFeedback`, params)
   }
 }

+ 1 - 1
src/components/personalForms/entityInfo.vue

@@ -452,7 +452,7 @@ export default {
                     this.entityInfo.acreage = this.linkAttributes.acreage;
                     this.entityInfo.atFloor = this.linkAttributes.atFloor;
                     this.entityInfo.houseType = this.linkAttributes.houseType;
-                }
+      }
     },
       
     watch:{

+ 10 - 13
src/components/personalForms/houseCertificate.vue

@@ -430,9 +430,16 @@ export default {
                 this.certificate = value;
             }
         },
-        linkAttributes:{
-            handler(nv,ov){
-                if (this.houseCertificateObject==null){
+    },
+    computed: {
+       
+    },
+    created(){
+        this.certificate.id = this.id; 
+        if (this.houseCertificateObject){
+            this.certificate = this.houseCertificateObject;
+        }
+        if (this.houseCertificateObject==null){
                     this.certificate.location = nv.location;
                     this.certificate.sceneAddress = nv.location;
                     this.certificate.bailor1 = nv.bailor1;
@@ -444,16 +451,6 @@ export default {
                     this.certificate.ownerName = nv.ownerName;
                     this.converteUseTo(nv.purpose);
                 }
-               
-            },
-            deep:true
-        }
-    },
-    computed: {
-       
-    },
-    created(){
-
     },
     data() {
         return {

+ 6 - 1
src/components/personalForms/landCertificate.vue

@@ -198,7 +198,12 @@ export default {
             }
         },
     },
-
+    created(){
+        this.certificate.id = this.id; 
+        if (this.landCertificateObject){
+            this.certificate = this.landCertificateObject;
+        }
+    },
     computed: {
        
     },

+ 303 - 97
src/views/personal/todoDetail.vue

@@ -800,25 +800,33 @@
           <span slot="label"><i class="el-icon-office-building"></i> 证件信息</span>
           <div class="createMajor-main-container">
               <div class="postInfo-container">
-                  <div >
-                    <el-divider content-position="left">
-                      <div>
-                        <h3 class="title">
-                          <div class="avatar-wrapper icon-title">证件</div>
-                          <div class="icon-info">换证</div>
-                        </h3>
-                        <div style="position: absolute;left:100px;top:18px;width:500px">
-                          <el-checkbox-group v-model="personal.credentials">
-                              <el-checkbox-button label="HOUSE_CERTIFICATE" name="credentials">房产证</el-checkbox-button>
-                              <el-checkbox-button label="LAND_CERTIFICATE" name="credentials" >国土证</el-checkbox-button>
-                              <el-checkbox-button label="IMMOVABLE_CERTIFICATE" name="credentials" >不动产权证</el-checkbox-button>
-                              <el-checkbox-button label="LEASE_CONTRACT" name="credentials" >租赁合同</el-checkbox-button>
-                              <el-checkbox-button label="IDENTITY_CARD" name="credentials">身份证</el-checkbox-button>
-                            </el-checkbox-group>
-                        </div>
-                      </div>
-                    </el-divider>
-                </div>
+                <div>
+                  <el-divider content-position="left">
+                    <h3 class="title">
+                    <div class="avatar-wrapper icon-title">证件</div>
+                    <div class="icon-info">换证</div>
+                    </h3>
+                  </el-divider>
+                  <div style="margin-left:40px;margin-bottom:50px;margin-top:30px">
+                    <el-checkbox-group v-model="personal.credentials">
+                        <el-checkbox-button label="HOUSE_CERTIFICATE" name="credentials">房产证</el-checkbox-button>
+                        <el-checkbox-button label="LAND_CERTIFICATE" name="credentials" >国土证</el-checkbox-button>
+                        <el-checkbox-button label="IMMOVABLE_CERTIFICATE" name="credentials" >不动产权证</el-checkbox-button>
+                        <el-checkbox-button label="LEASE_CONTRACT" name="credentials" >租赁合同</el-checkbox-button>
+                        <el-checkbox-button label="IDENTITY_CARD" name="credentials">身份证</el-checkbox-button>
+                      </el-checkbox-group>
+                  </div>
+              </div>
+              <div>
+                <el-divider content-position="left">
+                  <div>
+                    <h3 class="title">
+                      <div class="avatar-wrapper icon-title">证件</div>
+                      <div class="icon-info">证件详情</div>
+                    </h3>
+                  </div>
+                </el-divider>
+              </div>
                 <el-card class="box-card">
                   <el-collapse v-model="certificateName" accordion>
                     <el-collapse-item  name="1" v-show="showCred.showHouseCer">
@@ -894,6 +902,42 @@
         <el-tab-pane name="producution" class="pane-class" :lazy=true>
           <span slot="label"><i class="el-icon-document-checked"></i> 产品信息</span>
           <div class="createMajor-main-container">
+            <div class="postInfo-container">
+              <div>
+                <el-divider content-position="left">
+                  <h3 class="title">
+                  <div class="avatar-wrapper icon-title">反馈</div>
+                  <div class="icon-info">客户反馈</div>
+                  </h3>
+                </el-divider>
+              </div>
+              <el-form ref="feedbackFrom" class="form-container"  style="margin-top:30px" :rules="rules">
+                  <el-row >
+                    <el-col :xs="24" :sm="12" :lg="8" :span="6">
+                      <el-form-item
+                        label="出具产品类型:"
+                        prop="production"
+                        label-width="160px"
+                        class="postInfo-container-item"
+                      >
+                        <el-checkbox-group v-model="feedback" style="width:300px">
+                          <el-checkbox-button label="STATEMENT" name="production">价值意见书</el-checkbox-button>
+                          <el-checkbox-button label="REPORT" name="production">报告</el-checkbox-button>
+                          <el-checkbox-button label="LETTER" name="production">复评函</el-checkbox-button>
+                          <el-tooltip class="item" effect="dark" content="只出具价值意见书,不再出具其他产品。" placement="top-start">
+                            <el-checkbox-button v-if="currentNode.nodeCode ==='STATEMENT_FEEDBACK'" label="NONE" name="production">不再出具</el-checkbox-button>
+                          </el-tooltip>
+                        </el-checkbox-group>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :lg="6" :span="6" v-if="currentNode.nodeCode==='QUOTATION_FEEDBACK' || currentNode.nodeCode==='STATEMENT_FEEDBACK'">
+                        <el-button type="primary" @click="saveFeedback()">保存反馈</el-button>
+                    </el-col>
+                  </el-row>
+              </el-form>
+            </div>  
+          </div>
+          <div class="createMajor-main-container">
               <div class="postInfo-container">
                 <div>
                   <el-divider content-position="left">
@@ -905,80 +949,63 @@
                 </div>
               </div>
           </div>
-              <div style="display: flex;margin-top: 100px; width: 100%;">
-                <div style="position:absolute;top:80px; left:6%">
-                  <el-button type="text">一键生成</el-button> <el-button type="text" @click="downloadPkg()">全部下载</el-button>
+          <div style="display: flex;margin-top: 100px; width: 100%;">
+            <!-- <div style="position:absolute;top:80px; left:6%">
+              <el-button type="text">一键生成</el-button> <el-button type="text" @click="downloadPkg()">全部下载</el-button>
+            </div> -->
+            <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%; width: 20%;" v-if="hasStatement">
+              <img :src="statementCardPNG"  class="image">
+              <div style="padding: 14px;">
+                <span>房地产意见书</span> <time class="time">{{ statementProd.modified }}</time>
+                <div class="control" >
+                  <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
+                  <el-button type="text" class="button" @click="warehouse()" :disabled="currentNode.nodeCode!='STATEMENT_IN' && currentNode.nodeCode!='STATEMENT_OUT'">出入库</el-button>
+                  <el-button type="text" class="button" @click="genProductionFile(1)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
                 </div>
-                <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%; width: 20%;">
-                  <img :src="statementCardPNG"  class="image">
-                  <div style="padding: 14px;">
-                    <span>房地产意见书</span> <time class="time">{{ statementProd.modified }}</time>
-                    <div class="control" >
-                      <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
-                      <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">出入库</el-button>
-                      <el-button type="text" class="button" @click="genProductionFile(1)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
-                    </div>
-                  </div>
-                      <el-upload style="position: relative; top: -10px; padding: 10px;"
-                              :action="'/api/personalProduction/upload/'+target.id+'/1'" :file-list="statementProd.files" 
-                              :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
-                              :before-remove="handleRemoveFile"	>
-                          <el-button type="text" style="position: relative; left: 10px;top: -4px;"  :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
-                      </el-upload>
-                   
-                </el-card>
-                <el-card :body-style="{ padding: '0px' }" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;">
-                  <img :src="technicCardPNG" class="image">
-                  <div style="padding: 14px;">
-                    <span>技术报告</span><time class="time">{{ technicReportProd.modified }}</time>
-                    <div class="control">
-                        <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
-                        <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">出入库</el-button>
-                        <el-button type="text" class="button" @click="genProductionFile(2)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
-                    </div>
-                  </div>
-                  <el-upload style="position: relative; top: -10px; padding: 10px;"
-                      :action="'/api/personalProduction/upload/'+target.id+'/2'" :file-list="technicReportProd.files"
-                              :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
-                              :before-remove="handleRemoveFile">
-                              <el-button type="text" style="position: relative; left: 10px;top: -4px;"  :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
-                      </el-upload>
-                </el-card>
-                <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;">
-                  <img :src="finalCardPNG"  class="image">
-                  <div style="padding: 14px;">
-                    <span>结果报告</span><time class="time">{{ finalReprotProd.modified }}</time>
-                    <div class="control" >
-                      <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">加盖公章</el-button>
-                      <el-button type="text" class="button" @click="doStamp(statementProd.files)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">出入库</el-button>
-                      <el-button type="text" class="button" @click="genProductionFile(3)" :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">系统生成</el-button>
-                    </div>    
-                  </div>
-                  <el-upload style="position: relative; top: -10px;padding: 10px;"
-                        :action="'/api/personalProduction/upload/'+target.id+'/3'" :file-list="finalReprotProd.files" 
-                                :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
-                                :before-remove="handleRemoveFile">
-                                <el-button type="text" style="position: relative; left: 10px;top: -4px;"  :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
-                      </el-upload>
-                </el-card>
               </div>
-        </el-tab-pane>
-        <el-tab-pane name="quality" class="pane-class" :lazy=true>
-          <span slot="label"><i class="el-icon-pie-chart"></i> 产品质检</span>
-            <el-form ref="performanceForm"  class="form-container">
-              <div class="createMajor-main-container">
-                  <div class="postInfo-container">
-                    <div>
-                      <el-divider content-position="left">
-                        <h3 class="title">
-                        <div class="avatar-wrapper icon-title">质检</div>
-                        <div class="icon-info">产品质检</div>
-                        </h3>
-                      </el-divider>
-                    </div>
+                  <el-upload style="position: relative; top: -10px; padding: 10px;"
+                          :action="'/api/personalProduction/upload/'+target.id+'/1'" :file-list="statementProd.files" 
+                          :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
+                          :before-remove="handleRemoveFile"	>
+                      <el-button type="text" style="position: relative; left: 10px;top: -4px;"  :disabled="currentNode.nodeCode!='GENERATE_STATEMENT'">手动上传</el-button>
+                  </el-upload>
+                
+            </el-card>
+            <el-card :body-style="{ padding: '0px' }" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;" v-if="hasReport">
+              <img :src="technicCardPNG" class="image">
+              <div style="padding: 14px;">
+                <span>技术报告</span><time class="time">{{ technicReportProd.modified }}</time>
+                <div class="control">
+                    <el-button type="text" class="button" @click="doStamp(technicReportProd.files)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">加盖公章</el-button>
+                    <el-button type="text" class="button" @click="doStamp(technicReportProd.files)" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
+                    <el-button type="text" class="button" @click="genProductionFile(2)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">系统生成</el-button>
                 </div>
               </div>
-            </el-form>
+              <el-upload style="position: relative; top: -10px; padding: 10px;"
+                  :action="'/api/personalProduction/upload/'+target.id+'/2'" :file-list="technicReportProd.files"
+                          :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
+                          :before-remove="handleRemoveFile">
+                          <el-button type="text" style="position: relative; left: 10px;top: -4px;"  :disabled="currentNode.nodeCode!='WRITE_REPORT'">手动上传</el-button>
+                  </el-upload>
+            </el-card>
+            <el-card :body-style="{ padding: '0px'}" shadow="always" style="margin-left: 5%; margin-right: 5%;width: 20%;" v-if="hasReport">
+              <img :src="finalCardPNG"  class="image">
+              <div style="padding: 14px;">
+                <span>结果报告</span><time class="time">{{ finalReprotProd.modified }}</time>
+                <div class="control" >
+                  <el-button type="text" class="button" @click="doStamp(finalReprotProd.files)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">加盖公章</el-button>
+                  <el-button type="text" class="button" @click="doStamp(finalReprotProd.files)" :disabled="currentNode.nodeCode!='REPORT_IN' && currentNode.nodeCode!='REPORT_OUT'">出入库</el-button>
+                  <el-button type="text" class="button" @click="genProductionFile(3)" :disabled="currentNode.nodeCode!='WRITE_REPORT'">系统生成</el-button>
+                </div>    
+              </div>
+              <el-upload style="position: relative; top: -10px;padding: 10px;"
+                    :action="'/api/personalProduction/upload/'+target.id+'/3'" :file-list="finalReprotProd.files" 
+                            :limit="1" :on-exceed="handleExceed" :on-preview="handleAttachmentPreview" :on-success="getProductions"
+                            :before-remove="handleRemoveFile">
+                            <el-button type="text" style="position: relative; left: 10px;top: -4px;"  :disabled="currentNode.nodeCode!='WRITE_REPORT'">手动上传</el-button>
+                  </el-upload>
+            </el-card>
+          </div>
         </el-tab-pane>
         <el-tab-pane name="workflowLog" class="pane-class" :lazy=true>
           <span slot="label"><i class="el-icon-date"></i> 流程日志</span>
@@ -1052,12 +1079,31 @@
           <el-button type="primary" @click="saveFeedback()" >保存</el-button>
         </span>
       </el-dialog>
+      <el-dialog  :visible.sync="inWarehouseDialog" width="25%" center top="35vh" custom-class="doWarehouseClass">
+        <div>
+          <i class="el-icon-warning" style="color:RGB(230,162,60);font-size:22px;margin-right:10px;"></i>
+          <span style="position:absolute;top:58px">{{ warehouseTip }}</span>
+        </div>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="warehouseDialog = false">取 消</el-button>
+          <el-button type="primary" @click="doInWareHouse()">确 定</el-button>
+        </span>
+      </el-dialog>
+      <el-dialog  :visible.sync="outWarehouseDialog" width="25%" center top="35vh" custom-class="doWarehouseClass">
+        <div>
+          <i class="el-icon-warning" style="color:RGB(230,162,60);font-size:22px;margin-right:10px;"></i>
+          <span style="position:absolute;top:58px">{{ warehouseTip }}</span>
+        </div>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="warehouseDialog = false">取 消</el-button>
+          <el-button type="primary" @click="doOutWareHouse()">确 定</el-button>
+        </span>
+      </el-dialog>
     </div>
 </template>
   <script>
     import YDetailPageLayout from '@/components/YDetailPageLayout/index_detail'
     import WorkflowBoard from '@/components/workflowBoard'
-    import ScanEntry from '@/components/ScanEntry'
     import {isNumber,phoneNumber,postiveInteger,isIdNumber} from '@/utils/validate'
     import {calculateTargetPrice,validateParams} from '@/utils/personalUtil'
     import HouseCertificate from '@/components/personalForms/houseCertificate'
@@ -1069,14 +1115,11 @@
     import existPNG from '@/assets/images/exist.png'
     import emptyPNG from '@/assets/images/empty.png'
 
-
-
     export default {
       name: 'personalTodoDetail',
       components: {
         YDetailPageLayout,
         WorkflowBoard,
-        ScanEntry,
         HouseCertificate,
         LandCertificate,
         ImmovableCertificate,
@@ -1114,7 +1157,6 @@
           },
           deep:true
         },
-
       },
       computed: {
         certificateCouldEdit(){
@@ -1387,7 +1429,15 @@
             },
             statementCardPNG:emptyPNG,
             technicCardPNG:emptyPNG,
-            finalCardPNG:emptyPNG
+            finalCardPNG:emptyPNG,
+            outWarehouseDialog:false,
+            inWarehouseDialog:false,
+            warehouseTip:null,
+            productionId:null,
+            hasStatement:false,
+            hasReport:false,
+            feedback:[]
+
         }
       },
 
@@ -1456,6 +1506,13 @@
                     if (res.data.sellingAbility){
                       this.target.sellingAbility = JSON.parse(res.data.sellingAbility);
                     }
+                    this.feedback = JSON.parse(res.data.feedback);
+                    if (this.feedback.includes("STATEMENT")){
+                      this.hasStatement = true;
+                    }
+                    if (this.feedback.includes("REPORT")){
+                      this.hasReport = true;
+                    }
                 }
               })
           }
@@ -1553,6 +1610,36 @@
                   }
                   callback(verify);
                   return ;
+              case "REVIEW_STATEMENT":
+                const id = this.statementProd.id
+                this.checkPass(id);
+                callback(verify);
+                return ;
+              case "WRITE_REPORT":
+                  if (this.technicReportProd==null || this.technicReportProd.files.length===0){
+                      this.$notify({
+                            title: '提示',
+                            message: '请生成或上传技术报告后,再提交流程',
+                            type: 'error',
+                            duration: 3000
+                          });
+                      verify.state = false;
+                      callback(verify);
+                      return
+                  }
+                  if (this.finalReprotProd==null || this.finalReprotProd.files.length===0){
+                      this.$notify({
+                            title: '提示',
+                            message: '请生成或上传结果报告后,再提交流程',
+                            type: 'error',
+                            duration: 3000
+                          });
+                      verify.state = false;
+                      callback(verify);
+                      return
+                  }
+                  callback(verify);
+                  return ;
             }
           }
         },
@@ -1919,7 +2006,125 @@
                     });
               }
             })
-        }
+        },
+        checkPass(id){
+          this.$api.personalProduction.checkPass(id);
+        },
+        warehouse(){
+          const code = this.currentNode.nodeCode;
+           if (code==='STATEMENT_IN'){
+              const fileName = this.statementProd.files[0].name
+              this.warehouseTip = "请确认将["+fileName+"]入库?";
+              this.productionId = this.statementProd.id;
+              this.inWarehouseDialog = true;
+           }
+           if (code==='STATEMENT_OUT'){
+              const fileName = this.statementProd.files[0].name
+              this.warehouseTip = "请确认将["+fileName+"]出库?";
+              this.productionId = this.statementProd.id;
+              this.outWarehouseDialog = true;
+           }
+           if (code==='REPORT_IN'){
+              const fileName = this.technicReportProd.files[0].name
+              this.warehouseTip = "请确认将["+fileName+"]入库?";
+              this.productionId = this.statementProd.id
+              this.inWarehouseDialog = true;
+           }
+           if (code==='REPORT_OUT'){
+              const fileName = this.technicReportProd.files[0].name
+              this.warehouseTip = "请确认将["+fileName+"]出库?";
+              this.productionId = this.statementProd.id;
+              this.outWarehouseDialog = true;
+           }
+            
+
+        },
+        doInWareHouse(){
+          if (this.productionId){
+            let taskRecordDTO = this.buildTaskRecordDTO(this.productionId);
+              this.$api.personalProduction.inWareHouse(taskRecordDTO).then(res=>{
+                if (res.code ===200 && res.data){
+                  this.$notify({
+                      title: '成功',
+                      message:'入库操作成功',
+                      type: 'success',
+                      duration: 2000
+                  });
+                }else{
+                  this.$notify({
+                      title: '失败',
+                      message:'入库操作失败',
+                      type: 'error',
+                      duration: 2000
+                    });
+                }
+              })
+          }
+          this.inWarehouseDialog = false;
+          
+        },
+        doOutWareHouse(){
+          if (this.productionId){
+            let taskRecordDTO = this.buildTaskRecordDTO(this.productionId);
+              this.$api.personalProduction.outWareHouse(taskRecordDTO).then(res=>{
+                if (res.code ===200 && res.data){
+                  this.$notify({
+                      title: '成功',
+                      message:'出库操作成功',
+                      type: 'success',
+                      duration: 2000
+                  });
+                }else{
+                  this.$notify({
+                      title: '失败',
+                      message:'出库操作失败',
+                      type: 'error',
+                      duration: 2000
+                    });
+                }
+              })
+          }
+          this.outWarehouseDialog = false;
+        },
+        saveFeedback(){
+          let flag = true;
+         const oldFeedback = JSON.parse(this.target.feedback);
+         oldFeedback.forEach(element => {
+             if (!this.feedback.includes(element)){
+                this.$notify({
+                        title: '提示',
+                        message:'不能移除已存在的产品类型',
+                        type: 'info',
+                        duration: 2000
+                      });
+                flag =false;   
+                return;
+             }
+         });
+         if (flag){
+            const feedbackDTO = new Object();
+            feedbackDTO.id = this.target.id;
+            feedbackDTO.feedback = JSON.stringify(this.feedback);
+            const taskRecordDTO = this.buildTaskRecordDTO(feedbackDTO)
+            this.$api.personalTarget.doFeedback(taskRecordDTO).then(res=>{
+              if (res.code ===200 && res.data){
+                  this.$notify({
+                      title: '成功',
+                      message:'反馈客户信息成功',
+                      type: 'success',
+                      duration: 2000
+                  });
+                }else{
+                  this.$notify({
+                      title: '失败',
+                      message:'反馈客户信息失败',
+                      type: 'error',
+                      duration: 2000
+                    });
+                }
+            })
+          }
+         }
       }
     }
   </script>
@@ -1977,7 +2182,7 @@
       cursor:pointer;
     }
     .box-card{
-      margin-top:60px
+      margin-top:40px
     }
 
   .myupload{
@@ -2007,6 +2212,7 @@
   }
 
   .control{
+      z-index: 999;
       position: relative;
       top: 10px;
   }