Преглед изворни кода

1、更换登陆页面头部logo图
2、新增车险结算-线下保单管理-保单导入页面
3、新增车险结算-线下保单管理-保单查询页面
4、修改结算单生成页面,保险公司字段搜索问题
5、修改报价页面-报价历史付款吗不显示问题

lihongxiao пре 2 година
родитељ
комит
4d0bd2f19a

+ 2 - 2
config/dev.env.js

@@ -5,8 +5,8 @@ const prodEnv = require('./prod.env')
 module.exports = merge(prodEnv, {
 module.exports = merge(prodEnv, {
   NODE_ENV: '"development"',
   NODE_ENV: '"development"',
   ENV_CONFIG:'"dev"',
   ENV_CONFIG:'"dev"',
-  BASE_URL: '"https://test.baoxianzhanggui.com/web-api"',//测试服务器
-  // BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
+  // BASE_URL: '"https://test.baoxianzhanggui.com/web-api"',//测试服务器
+  BASE_URL:'"https://sxzgkj.baoxianzhanggui.com/web-api"'//正式服务器
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
   // BASE_URL: '"http://192.168.0.115:8080/"' //凯森
   // BASE_URL: '"http:///192.168.0.253:8082/"',//田智
   // BASE_URL: '"http:///192.168.0.253:8082/"',//田智
   // BASE_URL: '"http:///192.168.0.253:8082/"',//田智
   // BASE_URL: '"http:///192.168.0.253:8082/"',//田智

BIN
src/assets/image/logoImgnew.png


+ 4 - 1
src/components/TemplateTable/index.vue

@@ -79,8 +79,11 @@
                 <el-radio  v-for="(r, i) in f.radioList" :key="i" :label="r.value" >{{r.label}}</el-radio>
                 <el-radio  v-for="(r, i) in f.radioList" :key="i" :label="r.value" >{{r.label}}</el-radio>
               </el-radio-group>
               </el-radio-group>
           </template>
           </template>
+          <template v-else-if="f.type === 'slot'">
+            <slot  show-overflow-tooltip :name="f.name"></slot>
+          </template>
         </template>
         </template>
-        
+       
       </el-form-item>
       </el-form-item>
       
       
       
       

+ 16 - 0
src/http/moudules/cost.js

@@ -157,3 +157,19 @@ export const exportBatchNum= (id) => {
         responseType: 'blob'
         responseType: 'blob'
     })
     })
 }
 }
+// 线下保单导入
+export const plyMainImport= (data) => {
+    return axios({
+        url: "/fnc/plyMain/import",
+        method: "post",
+        data
+    })
+}
+// 线下保单查询
+export const plyMainQuery= (data) => {
+    return axios({
+        url: "/fnc/plyMain/query",
+        method: "post",
+        data
+    })
+}

+ 31 - 4
src/views/FinancialManagement/CarInsurance/CompanySettlement/DocGenerate.vue

@@ -19,7 +19,15 @@
             :xl="xlcell"
             :xl="xlcell"
           >
           >
             <el-form-item label="保险公司:" prop="companyId">
             <el-form-item label="保险公司:" prop="companyId">
-              <el-select
+              <el-cascader
+                placeholder="请输入保险公司"
+                :options="options"
+                :show-all-levels="false"
+                v-model="pageRequest.companyId"
+                :props="{value:'id', label: 'name',  checkStrictly: true}"
+                filterable></el-cascader>
+                <!-- :before-filter="get_tree"	 -->
+              <!-- <el-select
                 v-model="pageRequest.companyId"
                 v-model="pageRequest.companyId"
                 filterable
                 filterable
                 class="widths"
                 class="widths"
@@ -31,7 +39,7 @@
                   :label="val.name"
                   :label="val.name"
                   :value="val.id"
                   :value="val.id"
                 ></el-option>
                 ></el-option>
-              </el-select>
+              </el-select> -->
             </el-form-item>
             </el-form-item>
           </el-col>
           </el-col>
           <el-col
           <el-col
@@ -473,6 +481,7 @@ export default {
         ],
         ],
         startDate: [{ required: true, message: "日期不能为空", trigger: "change" }],
         startDate: [{ required: true, message: "日期不能为空", trigger: "change" }],
       },
       },
+      options:[],
     };
     };
   },
   },
   created() {
   created() {
@@ -480,11 +489,23 @@ export default {
     // this.pageRequest.startDate=monthtime[0];
     // this.pageRequest.startDate=monthtime[0];
     // this.pageRequest.endDate=monthtime[1];
     // this.pageRequest.endDate=monthtime[1];
     // this.dateTime=monthtime;
     // this.dateTime=monthtime;
-    this.companyquery(); //公司数据
+    // this.companyquery(); //公司数据
     this.deptQuery(); //机构数据
     this.deptQuery(); //机构数据
+    // this.findLeftInsTreeFun()
+    this.$api.insCompany.findLeftInsTree({name:'',type:1}).then((res) => {
+        this.options=res.data
+      })
   },
   },
   mounted() {},
   mounted() {},
   methods: {
   methods: {
+    // findLeftInsTreeFun(val=''){
+    //   this.$api.insCompany.findLeftInsTree({name:val,type:1}).then((res) => {
+    //     this.options=res.data
+    //   })
+    // },
+    // get_tree(val) {
+    //   this.findLeftInsTreeFun(val)
+    // },
     handleTableSettled(ids) {
     handleTableSettled(ids) {
       this.plyNoList=ids;
       this.plyNoList=ids;
       this.dialogVisible11=true;
       this.dialogVisible11=true;
@@ -509,6 +530,7 @@ export default {
     onSubmit(formName) {
     onSubmit(formName) {
       this.$refs[formName].validate((valid) => {
       this.$refs[formName].validate((valid) => {
         if (valid) {
         if (valid) {
+          this.pageRequest.companyId=this.pageRequest.companyId[0]
           this.$api.settlement
           this.$api.settlement
         .iscompanyTosettledQuery(this.pageRequest)
         .iscompanyTosettledQuery(this.pageRequest)
         .then((res) => {
         .then((res) => {
@@ -624,7 +646,12 @@ export default {
       that.$api.settlement
       that.$api.settlement
         .iscompanyTosettledQuery(that.pageRequest)
         .iscompanyTosettledQuery(that.pageRequest)
         .then((res) => {
         .then((res) => {
-          that.pageResult = res.data;
+          if(res.code==200){
+            that.pageResult = res.data;
+          }
+          else{
+            this.$message.error(res.msg)
+          }
         })
         })
         .then(data != null ? data.callback : "");
         .then(data != null ? data.callback : "");
     },
     },

+ 50 - 0
src/views/FinancialManagement/OfflinePolicy/PolicyImport.vue

@@ -0,0 +1,50 @@
+<template>
+  <div>
+    <el-button style="margin-bottom: 20px;" type="primary" size="small" @click="templateDownload()">模板下载</el-button>
+    <el-upload
+        class="upload-demo"
+        drag
+        action="#"
+        :show-file-list="false"
+        :auto-upload="false"
+        :on-change="handleChange"
+        >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+        <!-- <div class="el-upload__tip" slot="tip">只能上传jpg/png文件,且不超过500kb</div> -->
+    </el-upload>
+  </div>
+</template>
+<script>
+export default {
+  data() {
+    return {
+      url: process.env.BASE_URL + "/fnc/plyMain/import",
+      fileList: []
+    };
+  },
+  methods: {
+    templateDownload() {
+      let a = document.createElement("a");
+      a.href = `${process.env.BASE_URL}/template/policyImport.xlsx`;
+      a.click();
+    },
+    handleChange(file, fileList) {
+      var file = file.raw;
+      const params = new FormData(); // 声明formData数据类型
+      params.append("file", file);
+      this.$api.cost.plyMainImport(params).then(res => {
+        if(res.code==200){
+            this.$message({
+            message: '导入成功',
+            type: 'success'
+            });
+        }
+        else{
+            this.$message.error(res.msg);
+        }
+      })
+    }
+  }
+};
+</script>

+ 151 - 0
src/views/FinancialManagement/OfflinePolicy/PolicyInquiry.vue

@@ -0,0 +1,151 @@
+<template>
+  <div>
+    <templateTable
+      :formList="formList"
+      :searchData.sync="searchData"
+      :tableConfig="tableConfig"
+      :data="tableData"
+      @getList="getList"
+      @handleSearchList="handleSearchList"
+      :pagination="page"
+    >
+    <template slot="deptId" slot-scope="scope">
+      <el-cascader
+        v-model="deptId"
+        size="small"
+        :options="options"
+        :show-all-levels="false"
+        :props="{value:'id', label: 'name',  checkStrictly: true}"
+        @change="handleBaseValue" 
+     ></el-cascader>
+    </template>
+    </templateTable>
+  </div>
+</template>
+<script>
+import templateTable from "@/components/TemplateTable/index.vue";
+export default {
+  name: "policyImport",
+  components: { templateTable },
+  data() {
+    return {
+      deptId:'',
+      formList: [
+        {
+          label: "保险公司",
+          prop: "insCompanyIds",
+          type: "company",
+        },
+        {
+            prop: "deptId",
+            label: "机构",
+            type: "slot",
+            name:'deptId'
+          },
+          {
+            prop: "policyno",
+            label: "保单号",
+            type:'input'
+          },
+          {
+            prop: "startDate",
+            label: "导入时间起期",
+            type: "date"
+          },
+          {
+            prop: "endDate",
+            label: "导入时间止期",
+            type: "date"
+          },
+      ],
+      searchData: {},
+      page: {
+        pageNum: 1,
+        pageSize: 20,
+        totalSize: 0
+      },
+      tableData: [],
+      tableConfig: {
+        columns: [
+          {
+            prop: "companyName",
+            label: "保险公司名称",
+            type: "text"
+          },
+          {
+            prop: "deptName",
+            label: "机构名称",
+            type: "text"
+          },
+          {
+            prop: "userId",
+            label: "业务员工号",
+            type: "text"
+          },
+          {
+            prop: "userName",
+            label: "业务员名称",
+            type: "text"
+          },
+          {
+            prop: "riskcode",
+            label: "险种",
+            type: "text"
+          },
+          {
+            prop: "licenseno",
+            label: "车牌号",
+            type: "text"
+          },
+          {
+            prop: "payDate",
+            label: "出单时间",
+            type: "text"
+          },
+         
+       
+         
+        ],
+        loading: true,
+        isPaginationShow: true
+      },
+      options:[]
+    };
+  },
+  created() {
+    this.getList();
+    this.$api.dept.findDeptTree().then((res) => {
+      this.options = res.data;
+    });
+  },
+  methods: {
+    // 查询
+    handleSearchList(data) {
+      this.getList(data);
+    },
+    //列表数据
+    getList(data) {
+      this.tableConfig.loading = true;
+      this.$api.cost
+        .plyMainQuery({ ...data, ...this.page,deptId:this.deptId })
+        .then(res => {
+          if (res.code == 200) {
+            this.tableData = res.data.content;
+            this.page.pageNum = res.data.pageNum;
+            this.page.pageSize = res.data.pageSize;
+            this.page.totalSize = res.data.totalSize;
+            this.tableConfig.loading = false;
+          } else {
+            this.tableData = [];
+            this.$message.error(res.msg);
+            this.page.totalSize = 0;
+            this.tableConfig.loading = false;
+          }
+        });
+    },
+    handleBaseValue(val){
+      this.deptId= val[val.length - 1];
+    }
+  }
+};
+</script>

+ 17 - 5
src/views/Letter/Letter.vue

@@ -2048,7 +2048,7 @@
                 v-show="scope.row.orderstatus == '2'"
                 v-show="scope.row.orderstatus == '2'"
                 type="text"
                 type="text"
                 style="color:rgb(240, 12, 10)"
                 style="color:rgb(240, 12, 10)"
-                @click="Payment(scope.row.id)"
+                @click="Payment(scope.row.id,scope.row)"
               >付款码</el-button>
               >付款码</el-button>
               <el-button
               <el-button
                 size="mini"
                 size="mini"
@@ -2626,7 +2626,9 @@
                 ref="qrcode">
                 ref="qrcode">
               </div>
               </div>
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" />-->
               <img v-show="['恒邦财险','安盛天平','国任财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" />-->
-              <div id="qrcode" ref="qrcode"></div>
+              <img v-if="['太平财险'].includes(inscompany)" :src="paycodeimg" alt="" style="width:100%"> 
+              <div v-else id="qrcode"  ref="qrcode"></div>
+
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>
@@ -5592,8 +5594,8 @@ else{
         this.totalCompanyList = res.data;
         this.totalCompanyList = res.data;
       });
       });
     },
     },
-    Payment(id) {
-      this.carcode(id);
+    Payment(id,item) {
+      this.carcode(id,item);
     },
     },
     //选择协议  val:协议id  row:协议列表  index:下标  item:保险公司数据集合
     //选择协议  val:协议id  row:协议列表  index:下标  item:保险公司数据集合
     agreementChange(val, row, index, item) {
     agreementChange(val, row, index, item) {
@@ -8536,7 +8538,7 @@ else{
     },
     },
     //返回上一步
     //返回上一步
     Back() { },
     Back() { },
-    carcode(id) {
+    carcode(id,item) {
       this.$api.letter.getQrCode(id).then(res => {
       this.$api.letter.getQrCode(id).then(res => {
         if (res.code == '200') {
         if (res.code == '200') {
           this.inscompany = res.data.inscompany;//保险公司
           this.inscompany = res.data.inscompany;//保险公司
@@ -8551,7 +8553,17 @@ else{
           this.systartdate = res.data.syStartDate;//商业起保日期
           this.systartdate = res.data.syStartDate;//商业起保日期
           // this.mobile = res.data.applyinfo.mobile;//投保人手机号
           // this.mobile = res.data.applyinfo.mobile;//投保人手机号
           this.$nextTick(() => {
           this.$nextTick(() => {
+              if(item.inscompany=='太平财险'){
+                let anresult = res.data.qrCodeUrl.replace(/[\r\n]/g, "");
+                let animgBase64 = `data:image/png;base64,${anresult}`;
+                base64ToPath(animgBase64)
+                  .then(path => {
+                    this.paycodeimg = path;
+                  })
+                }
+              else{
                 this.creatQrCode(res.data.qrCodeUrl);
                 this.creatQrCode(res.data.qrCodeUrl);
+              }
               });
               });
           this.codedialogVisible = true;
           this.codedialogVisible = true;
       } else {
       } else {

+ 1 - 1
src/views/Login.vue

@@ -4,7 +4,7 @@
       <div id="Login">
       <div id="Login">
         <header class="L_header">
         <header class="L_header">
           <div class="w1100">
           <div class="w1100">
-            <img src="../assets/image/logoImg.png" />
+            <img src="../assets/image/logoImgnew.png" />
           </div>
           </div>
         </header>
         </header>
         <main id="LBg">
         <main id="LBg">