Forráskód Böngészése

推广信息展示,流程待制单转单验证

xiao547607 5 éve
szülő
commit
6a61072981

+ 7 - 3
src/api/business/approval.js

@@ -85,11 +85,15 @@ function downloadIdCardZip(policyId) {
   window.open(constant.serverUrl + "/pub/attachment/downloadIdCardZip?policyId=" + policyId);
 }
 
+function getPromoterAndAgent(formData) {
+  return request.post(constant.serverUrl + "/insuranceApplication/getPromoterAndAgent", formData);
+}
+
 
 
 export default {
-  pageList, insureDetail,acceptDetail, firstApproval, secondApproval, transfer, 
-  policyRecordPageList, attachmentList, issued, otherPageList, 
-  otherDetail, uploadFiles, loadInsuranceAgent, 
+  pageList, insureDetail, acceptDetail, firstApproval, secondApproval, transfer,
+  policyRecordPageList, attachmentList, issued, otherPageList,
+  otherDetail, uploadFiles, loadInsuranceAgent, getPromoterAndAgent,
   downloadPolicyPdf, downloadIdCardZip, downloadPolicyZip
 }

+ 1 - 3
src/views/base/company-detail.vue

@@ -10,9 +10,8 @@
     width="75%"
   >
     <div class="application-panel" v-loading="loading">
-      <!-- 投保信息 -->
       <div class="title-von">
-        <h4>投保信息</h4>
+        <h4>企业详细信息</h4>
       </div>
       <table border="1" style="border-collapse:collapse;width: 100%;">
         <tr>
@@ -48,7 +47,6 @@
       </table>
     </div>
     <div class="application-panel" v-loading="loading">
-      <!-- 投保信息 -->
       <div class="title-von">
         <h4>账号信息</h4>
       </div>

+ 48 - 16
src/views/business/insuranceFirst-leftTab.vue

@@ -154,12 +154,7 @@
           <div class="title-von">
             <h4>附件信息</h4>
           </div>
-          <el-table
-            :data="filesData"
-            style="width: 100%"
-            v-loading="loading"
-            stripe
-          >
+          <el-table :data="filesData" style="width: 100%" v-loading="loading" stripe>
             <el-table-column prop="index" label="序号" width="80"></el-table-column>
             <!-- <el-table-column prop="insuredNumber" label="附件类型" width="150"></el-table-column> -->
             <el-table-column prop="name" label="附件名称" width="500px"></el-table-column>
@@ -175,12 +170,24 @@
           <div class="title-von">
             <h4>推广信息</h4>
           </div>
-          <table border="1" style="border-collapse:collapse;">
+          <table border="1" style="border-collapse:collapse;width:60%">
             <tr>
-              <td class="table-bak">人员类型</td>
+              <td class="table-bak" width="180">人员类型</td>
               <td class="table-bak">姓名</td>
-              <td class="table-bak">联系方式</td>
-              <td class="table-bak">注册账号</td>
+              <!-- <td>联系方式</td>
+              <td>注册账号</td> -->
+            </tr>
+            <tr>
+              <td>社会推广员</td>
+              <!-- <td class="table-bak">姓名</td>
+              <td>联系方式</td> -->
+              <td >{{promote.promoter}}</td>
+            </tr>
+            <tr>
+              <td>保险代理人</td>
+              <td>{{promote.agentName}}</td>
+              <!-- <td>联系方式</td>
+              <td></td> -->
             </tr>
           </table>
         </div>
@@ -263,15 +270,15 @@ export default {
       totalPagesRecord: 0,
       totalElementsRecord: 0,
       filesData: [],
-      insuranceAgentlist: ""
+      insuranceAgentlist: "",
+      promote: []
     };
   },
   methods: {
-    splitSep(arrStr,sep) {
-      if(arrStr==null || arrStr.length==0){
+    splitSep(arrStr, sep) {
+      if (arrStr == null || arrStr.length == 0) {
         return [];
-      }
-      else{
+      } else {
         return arrStr.split(sep);
       }
     },
@@ -332,7 +339,7 @@ export default {
         } else {
           var formData = new FormData();
           formData.append("applicationId", self.id);
-          
+
           return insuranceApplicationApi.insureDetail(formData);
         }
       })()
@@ -347,6 +354,7 @@ export default {
             this.acceptDetail();
             this.changePage(1);
             this.attachmentList();
+            this.loadPromoterAndAgent();
           } else {
             self.$message.error(jsonData.message + "");
           }
@@ -461,6 +469,30 @@ export default {
           self.loading = false;
           // self.$message.error(error + "");
         });
+    },
+    loadPromoterAndAgent() {
+      var self = this;
+
+      self.loading = true;
+
+      var formData = new FormData();
+
+      formData.append("applicationId", self.id);
+      formData.append("policyId", self.policyId);
+      formData.append("id", self.policyId);
+
+      approvalApi
+        .getPromoterAndAgent(formData)
+        .then(function(response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+          self.promote = jsonData;
+        })
+        .catch(error => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
     }
   },
   async mounted() {

+ 74 - 47
src/views/business/insuranceFirst-transfer.vue

@@ -20,18 +20,14 @@
       <el-container>
         <el-main>
           <el-form ref="form" :model="formModel" :rules="ruleValidate" :label-width="'100px'">
-            <el-form-item label="当前步骤" style="text-align:left;">
-            {{policy.statusN}}
-            </el-form-item>
+            <el-form-item label="当前步骤" style="text-align:left;">{{policy.statusN}}</el-form-item>
             <el-form-item label="处理类型" prop="processStatus">
               <el-select v-model="formModel.processStatus" placeholder="请选择" filterable>
                 <el-option label="通过" value="正常"></el-option>
                 <el-option label="退回" value="回退"></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="应收保费" style="text-align:left;">
-              {{policy.insuranceFee}}
-            </el-form-item>
+            <el-form-item label="应收保费" style="text-align:left;">{{policy.insuranceFee}}</el-form-item>
             <el-form-item label="出账银行" prop="issuingBank">
               <el-input placeholder="请输入出账银行" v-model="formModel.issuingBank"></el-input>
             </el-form-item>
@@ -57,16 +53,9 @@
               </el-select>
             </el-form-item>
             <el-form-item prop="opinion">
-              <el-input
-                type="textarea"
-                :rows="8"
-                placeholder="请输入处理意见"
-                v-model="formModel.opinion"
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="下一步骤" style="text-align:left;">
-              出单
+              <el-input type="textarea" :rows="8" placeholder="请输入处理意见" v-model="formModel.opinion"></el-input>
             </el-form-item>
+            <el-form-item label="下一步骤" style="text-align:left;">出单</el-form-item>
             <el-form-item>
               <el-button size="mini" type="success" @click="downloadFiles()">打包下载申请资料</el-button>
               <el-button size="mini" type="primary" :loading="submiting" @click="saveApproval()">提交</el-button>
@@ -100,33 +89,40 @@ export default {
         id: ""
       },
       ruleValidate: {
-        // issuingBank: [
-        //   {
-        //     required: true,
-        //     message: "请填写出账银行",
-        //     trigger: "blur"
-        //   }
-        // ],
-        // accountBank: [
-        //   {
-        //     required: true,
-        //     message: "请填写入账银行",
-        //     trigger: "blur"
-        //   }
-        // ],
-        // singlNumber: [
-        //   {
-        //     required: true,
-        //     message: "请填写转账单号",
-        //     trigger: "blur"
-        //   }
-        // ],
         processStatus: [
           {
             required: true,
             message: "请选择处理类型",
             trigger: "blur"
           }
+        ],
+        issuingBank: [
+          {
+            required: true,
+            message: "请填写出账银行",
+            trigger: "blur"
+          }
+        ],
+        accountBank: [
+          {
+            required: true,
+            message: "请填写入账银行",
+            trigger: "blur"
+          }
+        ],
+        singlNumber: [
+          {
+            required: true,
+            message: "请填写转账单号",
+            trigger: "blur"
+          }
+        ],
+        agentId: [
+          {
+            required: true,
+            message: "请选择保险代理人",
+            trigger: "blur"
+          }
         ]
       },
       loading: false,
@@ -215,27 +211,20 @@ export default {
       var self = this;
 
       this.$refs["form"].validate(valid => {
-        if (valid) {
-          var self = this;
-          var formModel = this.formModel;
+        var formModel = this.formModel;
+        if (formModel.processStatus == "回退") {
           (function() {
             var formData = new FormData();
-
             formData.append("applicationId", self.id);
             formData.append("policyId", self.policyId);
             formData.append("processStatus", self.formModel.processStatus);
             formData.append("opinion", self.formModel.opinion);
 
-            formData.append("accountBank", self.formModel.accountBank);
-            formData.append("issuingBank", self.formModel.issuingBank);
-            formData.append("singlNumber", self.formModel.singlNumber);
-            formData.append("agentId", self.formModel.agentId);
-
             self.submiting = true;
             return approvalApi.transfer(formData);
           })().then(function(response) {
             var jsonData = response.data;
-            
+
             self.submiting = false;
 
             if (jsonData.result) {
@@ -255,7 +244,45 @@ export default {
             }
           });
         } else {
-          this.$emit("error");
+          if (valid) {
+            (function() {
+              var formData = new FormData();
+
+              formData.append("applicationId", self.id);
+              formData.append("policyId", self.policyId);
+              formData.append("processStatus", self.formModel.processStatus);
+              formData.append("opinion", self.formModel.opinion);
+
+              formData.append("accountBank", self.formModel.accountBank);
+              formData.append("issuingBank", self.formModel.issuingBank);
+              formData.append("singlNumber", self.formModel.singlNumber);
+              formData.append("agentId", self.formModel.agentId);
+
+              self.submiting = true;
+              return approvalApi.transfer(formData);
+            })().then(function(response) {
+              var jsonData = response.data;
+              self.submiting = false;
+
+              if (jsonData.result) {
+                self.$message({
+                  message: "保存成功!",
+                  type: "success"
+                });
+
+                self.$router.push("/business/insuranceFirst/list");
+              } else {
+                self.$message({
+                  message: jsonData.message + "",
+                  type: "warning"
+                });
+
+                self.$emit("close", false);
+              }
+            });
+          } else {
+            this.$emit("error");
+          }
         }
       });
     },

+ 75 - 38
src/views/business/insurancePolicy-leftTab.vue

@@ -145,7 +145,9 @@
             </tr>
             <tr>
               <td colspan="2" class="table-bak">保险期间</td>
-              <td colspan="4">自 {{insureData.insurancePolicy.startTime}} 零时起 至 {{insureData.insurancePolicy.endTime}} 二十四时止。</td>
+              <td
+                colspan="4"
+              >自 {{insureData.insurancePolicy.startTime}} 零时起 至 {{insureData.insurancePolicy.endTime}} 二十四时止。</td>
             </tr>
           </table>
         </div>
@@ -154,12 +156,7 @@
           <div class="title-von">
             <h4>附件信息</h4>
           </div>
-          <el-table
-            :data="filesData"
-            style="width: 100%"
-            v-loading="loading"
-            stripe
-          >
+          <el-table :data="filesData" style="width: 100%" v-loading="loading" stripe>
             <el-table-column prop="index" label="序号" width="80"></el-table-column>
             <!-- <el-table-column prop="insuredNumber" label="附件类型" width="150"></el-table-column> -->
             <el-table-column prop="name" label="附件名称" width="500px"></el-table-column>
@@ -175,12 +172,24 @@
           <div class="title-von">
             <h4>推广信息</h4>
           </div>
-          <table border="1" style="border-collapse:collapse;">
+          <table border="1" style="border-collapse:collapse;width:60%">
             <tr>
-              <td class="table-bak">人员类型</td>
+              <td class="table-bak" width="180">人员类型</td>
               <td class="table-bak">姓名</td>
-              <td class="table-bak">联系方式</td>
-              <td class="table-bak">注册账号</td>
+              <!-- <td>联系方式</td>
+              <td>注册账号</td> -->
+            </tr>
+            <tr>
+              <td>社会推广员</td>
+              <!-- <td class="table-bak">姓名</td>
+              <td>联系方式</td> -->
+              <td >{{promote.promoter}}</td>
+            </tr>
+            <tr>
+              <td>保险代理人</td>
+              <td>{{promote.agentName}}</td>
+              <!-- <td>联系方式</td>
+              <td></td> -->
             </tr>
           </table>
         </div>
@@ -219,7 +228,7 @@ import NProgress from "nprogress"; // progress bar
 import "nprogress/nprogress.css"; // progress bar style
 
 export default {
-  props:["id","policyId"],
+  props: ["id", "policyId"],
   data() {
     var self = this;
 
@@ -261,15 +270,15 @@ export default {
       totalPagesRecord: 0,
       totalElementsRecord: 0,
       filesData: [],
-      insuranceAgentlist: ""
+      insuranceAgentlist: "",
+      promote: []
     };
   },
   methods: {
-    splitSep(arrStr,sep) {
-      if(arrStr==null || arrStr.length==0){
+    splitSep(arrStr, sep) {
+      if (arrStr == null || arrStr.length == 0) {
         return [];
-      }
-      else{
+      } else {
         return arrStr.split(sep);
       }
     },
@@ -325,31 +334,34 @@ export default {
     },
     insureDetail() {
       var self = this;
-      
+
       if (self.id.length == 0) {
         self.$message.error("没有传递ID");
       }
 
       // self.definitionId = self.id;
       (function() {
-          var formData = new FormData();
-          formData.append("policyId", self.policyId);
-
-          return approvalApi.insureDetail(formData);
-      })().then(response => {
-        var jsonData = response.data;
-        self.loading = false;
-        if (jsonData.result) {
-          self.insureData = jsonData.data;
-          this.acceptDetail();
-          this.changePage(1);
-          this.attachmentList();
-        } else {
-          self.$message.error(jsonData.message + "");
-        }
-      }).catch(error => {
-        self.$message.error(error + "");
-      });
+        var formData = new FormData();
+        formData.append("policyId", self.policyId);
+
+        return approvalApi.insureDetail(formData);
+      })()
+        .then(response => {
+          var jsonData = response.data;
+          self.loading = false;
+          if (jsonData.result) {
+            self.insureData = jsonData.data;
+            this.acceptDetail();
+            this.changePage(1);
+            this.attachmentList();
+            this.loadPromoterAndAgent();
+          } else {
+            self.$message.error(jsonData.message + "");
+          }
+        })
+        .catch(error => {
+          self.$message.error(error + "");
+        });
     },
     acceptDetail() {
       var self = this;
@@ -359,7 +371,8 @@ export default {
       // formData.append("applicationId", self.id);
       formData.append("policyId", self.policyId);
 
-      approvalApi.acceptDetail(formData)
+      approvalApi
+        .acceptDetail(formData)
         .then(response => {
           var jsonData = response.data;
           self.loading = false;
@@ -452,6 +465,30 @@ export default {
           self.loading = false;
           // self.$message.error(error + "");
         });
+    },
+    loadPromoterAndAgent() {
+      var self = this;
+
+      self.loading = true;
+
+      var formData = new FormData();
+
+      formData.append("applicationId", self.id);
+      formData.append("policyId", self.policyId);
+      formData.append("id", self.policyId);
+
+      approvalApi
+        .getPromoterAndAgent(formData)
+        .then(function(response) {
+          self.loading = false;
+
+          var jsonData = response.data.data;
+          self.promote = jsonData;
+        })
+        .catch(error => {
+          self.loading = false;
+          // self.$message.error(error + "");
+        });
     }
   },
   async mounted() {
@@ -460,7 +497,7 @@ export default {
 
     // self.id = this.$route.query.id;
     // self.policyId = this.$route.query.policyId;
-    
+
     // 改为在页面中通过$refs调用
     // this.insureDetail();
   }

+ 76 - 50
src/views/business/insurancePolicy-transfer.vue

@@ -21,18 +21,14 @@
       <el-container>
         <el-main>
           <el-form ref="form" :model="formModel" :rules="ruleValidate" :label-width="'100px'">
-            <el-form-item label="当前步骤" style="text-align:left;">
-            {{policy.statusN}}
-            </el-form-item>
+            <el-form-item label="当前步骤" style="text-align:left;">{{policy.statusN}}</el-form-item>
             <el-form-item label="处理类型" prop="processStatus">
               <el-select v-model="formModel.processStatus" placeholder="请选择" filterable>
                 <el-option label="通过" value="正常"></el-option>
                 <el-option label="退回" value="回退"></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item label="应收保费" style="text-align:left;">
-              {{policy.insuranceFee}}
-              </el-form-item>
+            <el-form-item label="应收保费" style="text-align:left;">{{policy.insuranceFee}}</el-form-item>
             <el-form-item label="出账银行" prop="issuingBank">
               <el-input placeholder="请输入出账银行" v-model="formModel.issuingBank"></el-input>
             </el-form-item>
@@ -58,16 +54,9 @@
               </el-select>
             </el-form-item>
             <el-form-item prop="opinion">
-              <el-input
-                type="textarea"
-                :rows="8"
-                placeholder="请输入处理意见"
-                v-model="formModel.opinion"
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="下一步骤" style="text-align:left;">
-              出单
+              <el-input type="textarea" :rows="8" placeholder="请输入处理意见" v-model="formModel.opinion"></el-input>
             </el-form-item>
+            <el-form-item label="下一步骤" style="text-align:left;">出单</el-form-item>
             <el-form-item>
               <el-button size="mini" type="success" @click="downloadFiles()">打包下载申请资料</el-button>
               <el-button size="mini" type="primary" :loading="submiting" @click="saveApproval()">提交</el-button>
@@ -99,33 +88,40 @@ export default {
         id: ""
       },
       ruleValidate: {
-        // issuingBank: [
-        //   {
-        //     required: true,
-        //     message: "请填写出账银行",
-        //     trigger: "blur"
-        //   }
-        // ],
-        // accountBank: [
-        //   {
-        //     required: true,
-        //     message: "请填写入账银行",
-        //     trigger: "blur"
-        //   }
-        // ],
-        // singlNumber: [
-        //   {
-        //     required: true,
-        //     message: "请填写转账单号",
-        //     trigger: "blur"
-        //   }
-        // ],
         processStatus: [
           {
             required: true,
             message: "请选择处理类型",
             trigger: "blur"
           }
+        ],
+        issuingBank: [
+          {
+            required: true,
+            message: "请填写出账银行",
+            trigger: "blur"
+          }
+        ],
+        accountBank: [
+          {
+            required: true,
+            message: "请填写入账银行",
+            trigger: "blur"
+          }
+        ],
+        singlNumber: [
+          {
+            required: true,
+            message: "请填写转账单号",
+            trigger: "blur"
+          }
+        ],
+        agentId: [
+          {
+            required: true,
+            message: "请选择保险代理人",
+            trigger: "blur"
+          }
         ]
       },
       loading: false,
@@ -161,7 +157,7 @@ export default {
       filesData: [],
       insuranceAgentlist: "",
       policy: {},
-      agentData:[],
+      agentData: [],
       submiting: false
     };
   },
@@ -199,8 +195,6 @@ export default {
               self.policy = jsonData.data.policy;
             });
 
-
-            
             formData.append("type", "1");
 
             insuranceAgentApi.list(formData).then(response => {
@@ -219,26 +213,20 @@ export default {
       var self = this;
 
       this.$refs["form"].validate(valid => {
-        if (valid) {
-          var self = this;
-          var formModel = this.formModel;
+        var formModel = this.formModel;
+        if (formModel.processStatus == "回退") {
           (function() {
             var formData = new FormData();
-
             formData.append("applicationId", self.id);
             formData.append("policyId", self.policyId);
             formData.append("processStatus", self.formModel.processStatus);
             formData.append("opinion", self.formModel.opinion);
 
-            formData.append("accountBank", self.formModel.accountBank);
-            formData.append("issuingBank", self.formModel.issuingBank);
-            formData.append("singlNumber", self.formModel.singlNumber);
-            formData.append("agentId", self.formModel.agentId);
-
             self.submiting = true;
             return approvalApi.transfer(formData);
           })().then(function(response) {
             var jsonData = response.data;
+
             self.submiting = false;
 
             if (jsonData.result) {
@@ -247,7 +235,7 @@ export default {
                 type: "success"
               });
 
-              self.$router.push("/business/insurancePolicy/list");
+              self.$router.push("/business/insuranceFirst/list");
             } else {
               self.$message({
                 message: jsonData.message + "",
@@ -258,7 +246,45 @@ export default {
             }
           });
         } else {
-          this.$emit("error");
+          if (valid) {
+            (function() {
+              var formData = new FormData();
+
+              formData.append("applicationId", self.id);
+              formData.append("policyId", self.policyId);
+              formData.append("processStatus", self.formModel.processStatus);
+              formData.append("opinion", self.formModel.opinion);
+
+              formData.append("accountBank", self.formModel.accountBank);
+              formData.append("issuingBank", self.formModel.issuingBank);
+              formData.append("singlNumber", self.formModel.singlNumber);
+              formData.append("agentId", self.formModel.agentId);
+
+              self.submiting = true;
+              return approvalApi.transfer(formData);
+            })().then(function(response) {
+              var jsonData = response.data;
+              self.submiting = false;
+
+              if (jsonData.result) {
+                self.$message({
+                  message: "保存成功!",
+                  type: "success"
+                });
+
+                self.$router.push("/business/insurancePolicy/list");
+              } else {
+                self.$message({
+                  message: jsonData.message + "",
+                  type: "warning"
+                });
+
+                self.$emit("close", false);
+              }
+            });
+          } else {
+            this.$emit("error");
+          }
         }
       });
     },