ソースを参照

Merge branch 'dev' of http://www.baoxianzhanggui.com:8090/sxzgd/vue-insagent-pc into dev

lihongxiao 1 年間 前
親
コミット
2bd001e6dd
37 ファイル変更、7013 行追加、1599 行削除
  1. 2 3
      package-lock.json
  2. BIN
      src/assets/image/title.png
  3. 4 0
      src/components/Form/ProductCostForm.vue
  4. 17 4
      src/components/customerService/floatingBar.vue
  5. 4 1
      src/http/api.js
  6. 44 1
      src/http/moudules/dict.js
  7. 30 1
      src/http/moudules/insCompany.js
  8. 7 0
      src/http/moudules/letter.js
  9. 21 12
      src/http/moudules/menu.js
  10. 54 0
      src/http/moudules/readPdf.js
  11. 38 2
      src/http/moudules/task.js
  12. 93 15
      src/router/index.js
  13. 1 0
      src/store/modules/menu.js
  14. 2 2
      src/views/AgreementManage/CarInsurance/AgreementEntry.vue
  15. 64 21
      src/views/AgreementManage/CarInsurance/AgreementProductFee.vue
  16. 113 0
      src/views/AgreementManage/CarInsurance/AgreementUnderwritingRule.vue
  17. 13 0
      src/views/AgreementManage/CarInsurance/ProductCostExamine.vue
  18. 144 46
      src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/HandlingFees.vue
  19. 110 24
      src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/HandlingFees.vue
  20. 3 0
      src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue
  21. 3 0
      src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyuntasks.vue
  22. 1300 1262
      src/views/Letter/ElectricSalescost.vue
  23. 124 55
      src/views/NavBar/NavBar.vue
  24. 398 0
      src/views/OrderMsg/AttrConfig.vue
  25. 125 0
      src/views/OrderMsg/ReadPdf.vue
  26. 1648 0
      src/views/PeopleManage/InsuranceCompany/InsuranceCompany.vue
  27. 1096 0
      src/views/PeopleManage/InsuranceCompany/InsuranceCompanyExamine.vue
  28. 209 0
      src/views/ProductManage/QrCode/JumpConfig.vue
  29. 5 0
      src/views/Sys/Inscommanytemplate.vue
  30. 11 0
      src/views/Sys/PublicizeImg.vue
  31. 4 0
      src/views/Task/AgentPoolChannel/AgentPoolChannel3.vue
  32. 5 0
      src/views/Task/CompanyPoolChannel/CompanyPoolChannel3.vue
  33. 4 0
      src/views/Task/ElectricSales/AgentPoolChannel3.vue
  34. 4 0
      src/views/Task/TaskPoolChannel/TaskPoolChannel3.vue
  35. 1231 0
      src/views/Task/UpdateOrderData/Index.vue
  36. 70 76
      src/views/Task/daikeComponents/KtLetter1.vue
  37. 12 74
      src/views/Task/daikeComponents/KtOrder.vue

+ 2 - 3
package-lock.json

@@ -2688,7 +2688,7 @@
     },
     "crypto-js": {
       "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
+      "resolved": "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz",
       "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
     },
     "css-color-names": {
@@ -3062,7 +3062,7 @@
     },
     "decimal.js": {
       "version": "10.4.3",
-      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
+      "resolved": "https://registry.npmmirror.com/decimal.js/-/decimal.js-10.4.3.tgz",
       "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA=="
     },
     "decode-uri-component": {
@@ -13760,7 +13760,6 @@
         }
       }
     },
-   
     "vue-draggable-resizable-gorkys": {
       "version": "2.4.8",
       "resolved": "https://registry.npmjs.org/vue-draggable-resizable-gorkys/-/vue-draggable-resizable-gorkys-2.4.8.tgz",

BIN
src/assets/image/title.png


+ 4 - 0
src/components/Form/ProductCostForm.vue

@@ -121,6 +121,9 @@
                   <el-checkbox style="margin-left: 10px;" v-if="formItems.attrCode == 'LicenseNo'"
                     v-model="LicenseNoChecked"
                     @change="LicenseNoCheckedChange($event, 'LicenseNo', 'min')">全选</el-checkbox>
+                  <el-checkbox style="margin-left: 10px;" v-if="formItems.attrCode == 'LicenseArea'"
+                    v-model="LicenseNoChecked1"
+                    @change="LicenseNoCheckedChange($event, 'LicenseArea', 'min')">全选</el-checkbox>
                 </div>
                 <div v-if="formItems.attrType == 'input'" style="display: flex;">
                   <el-input v-model="formItems.min" placeholder="输入(宝马、奥迪等)多个输入,用,隔开"></el-input>
@@ -505,6 +508,7 @@ export default {
       insuranceTypeCollapsed: true,
       insurerCostFactorCollapsed: true,
       LicenseNoChecked: false,
+      LicenseNoChecked1: false,
     };
   },
   created() {

+ 17 - 4
src/components/customerService/floatingBar.vue

@@ -7,7 +7,12 @@
         <img src="../../assets/customerService/customerService.png" alt="">
         <span>客服</span>
       </div>
-      <el-popover placement="right-end" width="30" trigger="hover">
+      <div class="aiSupport flex f-c a-c " @click="wechatService" v-if="display&&supportStaffUrl !== null">
+        <!-- <img src="../../assets/customerService/customerService.png" alt=""> -->
+        <span>微信</span>
+        <span>客服</span>
+      </div>
+      <el-popover placement="right-end" width="30" trigger="hover" v-if="display">
         <div class="flex f-c a-c">
           <img :src="wechatPictureUrl" alt="" style="width: 130px;height:130px;">
           <span style="font-size: 14px;color: #333;margin-top: 5px;">微信扫码咨询</span>
@@ -39,6 +44,8 @@ export default {
       qrcodeWidth: "130",
       qrcodeHeight: "130",
       wechatPictureUrl:"",
+      display:"",
+      supportStaffUrl:''
     }
   },
   // 生命周期函数
@@ -54,10 +61,16 @@ export default {
     wechat() {
       this.$api.aiSupport.wechatpicture().then((res) => {
         if (res.code == '200') {
+          this.display=res.data.display;
           this.wechatPictureUrl=process.env.APP_BASE_URL+ res.data.wechatPictureUrl;
+          this.supportStaffUrl = res.data.supportStaffUrl
+          console.log(this.supportStaffUrl.length);
         }
       });
     },
+    wechatService(){
+      window.open(this.supportStaffUrl, '_blank');
+    },
     //二维码生成插件
     creatQrCode(text) {
       // 查找并删除旧的二维码DOM元素
@@ -105,7 +118,7 @@ export default {
 .floatingBar {
   width: auto;
   position: fixed;
-  bottom: 10%;
+  bottom: 7%;
   right: 0;
   z-index: 99;
   background: #FFFFFF;
@@ -120,7 +133,7 @@ export default {
     background: #FFFFFF;
     border-radius: 4px 4px 4px 4px;
     padding: 4px 2px;
-    margin-bottom: 10px;
+
 
     span {
       color: #202D45;
@@ -144,7 +157,7 @@ export default {
     background: #fff;
     border-radius: 4px 4px 4px 4px;
     padding: 4px 2px;
-
+    margin-top: 10px;
     span {
       color: #202D45;
       font-size: 12px;

+ 4 - 1
src/http/api.js

@@ -54,6 +54,8 @@ import * as sys from './moudules/sys.js'
 import * as aiSupport from './moudules/service/aiSupport'
 
 import * as bindUser from './moudules/bindUser.js'
+//读取pdf设置
+import * as readPdf from './moudules/readPdf.js'
 
 // 默认全部导出
 export default {
@@ -96,5 +98,6 @@ export default {
     report,
     one,
     sys,
-    bindUser
+    bindUser,
+    readPdf
 }

+ 44 - 1
src/http/moudules/dict.js

@@ -198,4 +198,47 @@ export const exportHxOrdersCount = (data) => {
         method: 'post',
         data
     })
-}
+}
+
+/**
+ * 保险公司二维码配置
+ *
+ */
+//添加
+export const qrCodeConfigAdd = (data) => {
+  return axios({
+      url: '/sysBarcodeConfig/add',
+      method: 'post',
+      data
+  })
+}
+//删除
+export const qrCodeConfigDel = (id) => {
+  return axios({
+      url: '/sysBarcodeConfig/del/'+id,
+      method: 'delete',
+  })
+}
+//分页查询
+export const qrCodequeryPage = (data) => {
+  return axios({
+      url: "/sysBarcodeConfig/queryPage",
+      method: 'post',
+      data
+  })
+}
+//查询
+export const qrCodeConfigquery = (id) => {
+  return axios({
+      url: "/sysBarcodeConfig/query/"+id,
+      method: 'get',
+  })
+}
+//修改
+export const qrCodeConfigEdit = (id,data) => {
+  return axios({
+      url: "/sysBarcodeConfig/edit/"+id,
+      method: 'put',
+      data
+  })
+}

+ 30 - 1
src/http/moudules/insCompany.js

@@ -1139,4 +1139,33 @@ export const modifySort = (params) => {
     method: "get",
     params,
   })
-}
+}
+
+// 协议列表
+export const newGetAllAgreement = (params) => {
+  return axios({
+    url: '/plt/new/agreement/getAllAgreement',
+    method: "get",
+    params,
+  })
+}
+
+
+// 获取协议承保规则 
+export const rulesList = (data) => {
+  return axios({
+    url: 'plt/new/agreement/undwrt/rules/list',
+    method: "post",
+    data,
+  })
+}
+
+
+// 复制协议承保规则 
+export const copyRules = (data) => {
+  return axios({
+    url: '/plt/new/agreement/undwrt/copyRules',
+    method: "post",
+    data,
+  })
+}

+ 7 - 0
src/http/moudules/letter.js

@@ -1350,4 +1350,11 @@ export const getProductInfo = (data) => {
      method: 'get',
      params
     })
+   }
+   // 获取统一的pdf路径
+   export const readPdfUrlList = (params) => {
+    return axios({
+     url: '/subOrder/readPdfUrlList?subOrderId=' + params,
+     method: 'get',
+    })
    }

+ 21 - 12
src/http/moudules/menu.js

@@ -4,7 +4,7 @@ import axios from '../axios'
  * 菜单管理模块
  */
 
- // 保存
+// 保存
 export const save = (data) => {
     return axios({
         url: '/menu/save',
@@ -26,7 +26,7 @@ export const findNavTree = (params) => {
         url: '/menu/findNavTree',
         method: 'get',
         params,
-     
+
     })
 }
 // 查找导航菜单树
@@ -79,7 +79,7 @@ export const quotationSave = (data) => {
         data
     })
 }
-export const quotationUpdate= (data) => {
+export const quotationUpdate = (data) => {
     return axios({
         url: '/sys/quotation/update/sysQuotationTheme',
         method: 'post',
@@ -88,49 +88,58 @@ export const quotationUpdate= (data) => {
 }
 export const quotationDetail = (id) => {
     return axios({
-        url: '/sys/quotation/get/'+id,
+        url: '/sys/quotation/get/' + id,
         method: 'get'
     })
 }
 
-export const quotationDelete= (data) => {
+export const quotationDelete = (data) => {
     return axios({
         url: '/sys/quotation/delete/sysQuotationTheme',
         method: 'post',
         data
     })
 }
-export const quotationList= (data) => {
+export const quotationList = (data) => {
     return axios({
         url: '/sys/quotation/list',
         method: 'post',
         data
     })
 }
-export const quotationBatch= (data) => {
+export const quotationBatch = (data) => {
     return axios({
         url: '/sys/quotation/batch',
         method: 'post',
         data
     })
 }
-export const findTree= (id,managementSource) => {
+export const findTree = (id, managementSource) => {
     return axios({
-        url: '/sys/quotation/findTree?deptId='+id+'&managementSource='+managementSource,
+        url: '/sys/quotation/findTree?deptId=' + id + '&managementSource=' + managementSource,
         method: 'get',
     })
 }
-export const findUserList= (data) => {
+export const findUserList = (data) => {
     return axios({
         url: '/sys/quotation/findUserList',
         method: 'post',
         data
     })
 }
-export const quotationConfig= (data) => {
+export const quotationConfig = (data) => {
     return axios({
         url: '/sys/quotation/config',
         method: 'post',
         data
     })
-}
+}
+
+export const getConfig = (data) => {
+    return axios({
+        url: '/sysUserLinkSys/authorizeByUserId?userId=' + data.userId,
+        method: 'get',
+
+    })
+}
+

+ 54 - 0
src/http/moudules/readPdf.js

@@ -0,0 +1,54 @@
+import axios from '../axios'
+
+/*
+ * 读取pdf设置模块
+ */
+
+// 读取pdf设置列表
+export const queryPage = (data) => {
+  return axios({
+    url: '/insOrderReadPdf/queryPage',
+    method: 'post',
+    data
+  })
+}
+
+//保存
+export const addOrUpdate = (data) => {
+  return axios({
+    url: '/insOrderReadPdf/addOrUpdate',
+    method: 'post',
+    data
+  })
+}
+
+// 回显
+export const findById = (id) => {
+  return axios({
+    url: '/insOrderReadPdf/findById?id='+id,
+    method: 'get',
+  })
+}
+// 删除
+export const deleteById = (id) => {
+  return axios({
+    url: '/insOrderReadPdf/deleteById?id='+id,
+    method: 'get',
+  })
+}
+//获取已承保保险公司列表
+export const getAllCompanyList = (data) => {
+  return axios({
+    url: "/plt/scheme/allCompanyList",
+    method: 'post',
+    data
+  })
+}
+//读取pdf内容
+export const readPdfContent = (data) => {
+  return axios({
+    url: "/insOrderReadPdf/readPdfContent",
+    method: 'post',
+    data
+  })
+}

+ 38 - 2
src/http/moudules/task.js

@@ -1854,15 +1854,50 @@ export const addTypeImportExcel = (data) => {
 // 全选
 export const addOrUpdateAll = (data) => {
   return axios({
-    url: '/sysUserLinkPtlAgreement/addOrUpdateAll/'+data,
+    url: '/sysUserLinkPtlAgreement/addOrUpdateAll/' + data,
     method: 'post'
   })
 }
 
+//车险手续费结算批量导入
+export const HandlingFeeBathImport = (data) => {
+  return axios({
+    url: "/fnc/plyFee/insuranceHandlingFeeBathImport",
+    method: "post",
+    data
+  })
+}
+//车险手续费结算批量确认
+export const HandlingFeeBathConfirm = (data) => {
+  return axios({
+    url: "/fnc/plyFee/insuranceHandlingFeeBathConfirm",
+    method: "put",
+    data
+  })
+}
+//非车手续费结算批量导入
+export const HandlingFeeBathNotCarImport = (data) => {
+  return axios({
+    url: "/fnc/plyFee/insuranceHandlingFeeBathNotCarImport",
+    method: "post",
+    data
+  })
+}
+//非车手续费结算批量确认
+export const HandlingNotCarFeeBathConfirm = (data) => {
+  return axios({
+    url: "/fnc/plyFee/insuranceHandlingNotCarFeeBathConfirm",
+    method: "put",
+    data
+  })
+}
+
+
+
 //任务管理查询报价的保司机构
 export const queryPartnerCompaniesList = (status) => {
   return axios({
-    url: "/fnc/importAsync/queryPartnerCompaniesList?status="+status,
+    url: "/fnc/importAsync/queryPartnerCompaniesList?status=" + status,
     method: "get",
   })
 }
@@ -1898,3 +1933,4 @@ export const sysPartnerConfiEdit= (data) => {
   })
 }
 
+

+ 93 - 15
src/router/index.js

@@ -16,7 +16,8 @@ import { getIFramePath, getIFrameUrl } from '@/utils/iframe'
 import { getToken } from '@/utils/auth'
 import axios from 'axios'
 import { findNavTree } from '@/api/user'
-
+import CryptoJS from "crypto-js";
+let that = this
 Vue.use(Router)
 
 const router = new Router({
@@ -80,42 +81,119 @@ const router = new Router({
       component: Signature,
       meta: { requiresAuth: true }
     },
-  
+
   ]
 })
 router.beforeEach((to, from, next) => {
   // 登录界面登录成功之后,会把用户信息保存在会话
   // 存在时间为会话生命周期,页面关闭即失效。
-  let token =getToken()
+
+
+
+  let token = getToken()
   //let userName = sessionStorage.getItem('user')
   let userName = Cookies.get('user')
-  
+
   if (to.matched.some(record => record.meta.requiresAuth)) {
     next()
-     return
+    return
     // next({ path: '/Signature' })
   }
-    if (to.path === '/login') {
-      // 如果是访问登录界面,如果用户会话信息存在,代表已登录过,跳转到主页
+  if (to.path === '/login') {
+    // console.log(window.location.href.includes('token'))
+    if (window.location.href.includes('token')) {
+
+      const decryptedBytes = CryptoJS.AES.decrypt(window.location.href.split("=")[1],
+        'token')
+      const token = decryptedBytes.toString(CryptoJS.enc.Utf8);
+      getUser()
+      let userName = Cookies.get('user')
+
       if (token) {
+        let userInfo = JSON.parse(localStorage.getItem("user_data"))
+
+        Cookies.set("token", token);
+        api.menu.findNavTree({ 'userName': userInfo.id }).then(res => {
+          // 添加动态路由
+          let dynamicRoutes = addDynamicRoutes(res.data)
+
+          // 处理静态组件绑定路由
+          handleStaticComponent(router, dynamicRoutes)
+          router.addRoutes(router.options.routes)
+          // 保存加载状态
+          store.commit('menuRouteLoaded', true)
+          // 保存菜单树
+          store.commit('setNavTree', res.data)
+        }).then(res => {
+          api.user.findPermissions({ 'name': userInfo.id }).then(res => {
+            // 保存用户权限标识集合
+            store.commit('setPerms', res.data)
+          })
+        })
+
         next({ path: '/' })
-  
+
       } else {
         next()
       }
+
+
     } else {
-      if (!token) {
-        // 如果访问非登录界面,且户会话信息不存在,代表未登录,则跳转到登录界面
-          next({ path: '/login' })
+      if (token) {
+        next({ path: '/' })
+
       } else {
-        // 加载动态菜单和路由
-        addDynamicMenuAndRoutes(userName, to, from)
         next()
       }
+
+    }
+    // 如果是访问登录界面,如果用户会话信息存在,代表已登录过,跳转到主页
+
+  } else {
+    if (!token) {
+      // 如果访问非登录界面,且户会话信息不存在,代表未登录,则跳转到登录界面
+      next({ path: '/login' })
+    } else {
+      // 加载动态菜单和路由
+      addDynamicMenuAndRoutes(userName, to, from)
+      next()
     }
- 
- 
+  }
+
+
 })
+//获取用户信息
+function getUser() {
+  api.user.getLoginUser().then((response) => {
+    console.log(response)
+    if (response.code == 200) {
+      //头像地址拼接
+      if (
+        response.data.headSculpture != "" &&
+        response.data.headSculpture != null &&
+        response.data.headSculpture != undefined
+      ) {
+        response.data.headSculpture =
+          process.env.BASE_URL + response.data.headSculpture;
+      }
+
+      localStorage.setItem("user_data", JSON.stringify(response.data));
+      store.commit("SET_USER", response.data);
+      sessionStorage.setItem("user", response.data.id);
+      Cookies.set("user", response.data.id);
+
+      localStorage.setItem("routerId", "420");
+      store.commit("menuRouteLoaded", false);
+      // that.$router.push("/");
+      // that.loadingCode = false;
+    } else {
+      that.$message.error(response.msg);
+    }
+  });
+  api.role.findAll().then((res) => {
+    localStorage.setItem("find_all", JSON.stringify(res.data));
+  });
+}
 
 /**
 * 加载动态菜单和路由

+ 1 - 0
src/store/modules/menu.js

@@ -32,6 +32,7 @@ export default {
       "agreementManage/insuranceCompany/cargoTruck/nonBusiness/newEnergy/attrConfig",
       "agreementManage/insuranceCompany/cargoTruck/nonBusiness/newEnergy/solutionConfig",
       "agreementManage/insuranceCompany/cargoTruck/nonBusiness/newEnergy/optionalsolutionConfig",
+      "orderMsg/attrConfig",
     ]
   },
   getters: {

+ 2 - 2
src/views/AgreementManage/CarInsurance/AgreementEntry.vue

@@ -429,10 +429,10 @@
                       @change="productFilterListChange">
                       <el-option v-for="item in [{
                         label: '是',
-                        value: '1'
+                        value: 1
                       }, {
                         label: '否',
-                        value: '0'
+                        value: 0
                       }]" :key="item.value" :label="item.label" :value="item.value"></el-option>
                     </el-select>
                   </el-form-item>

+ 64 - 21
src/views/AgreementManage/CarInsurance/AgreementProductFee.vue

@@ -69,6 +69,7 @@
     </el-form>
     <div style="padding:0 10px 10px 10px ;" class=" flex j-s a-c">
       <span style="font-weight: bold;font-size: 15px;color: #242833;">
+        {{ lineData.agreementName }} - {{ lineData.businessDescription }} - {{ lineData.jobDescription }} - 
         产品详情
       </span>
       <div class="flex a-c ">
@@ -411,7 +412,7 @@
               </el-form-item>
             </el-col>
           </el-row> -->
-          <el-row>
+          <el-row >
             <div class="title">交强险费用</div>
             <el-col :span="8">
               <el-form-item label="总费用比例" prop="jqCostsProportion">
@@ -421,35 +422,35 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="交强管理比例一级" prop="jqExportRadioLevel1">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.jqExportRadioLevel1" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="交强管理比例二级" prop="jqExportRadioLevel2">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.jqExportRadioLevel2" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="交强管理比例三级" prop="jqExportRadioLevel3">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.jqExportRadioLevel3" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="交强管理比例四级" prop="jqExportRadioLevel4">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.jqExportRadioLevel4" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="交强管理比例五级" prop="jqExportRadioLevel5">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.jqExportRadioLevel5" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
@@ -465,35 +466,35 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="商业手续比例一级	" prop="syExportRadioLevel1">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.syExportRadioLevel1" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="商业手续比例二级	" prop="syExportRadioLevel2">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.syExportRadioLevel2" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="商业手续比例三级	" prop="syExportRadioLevel3">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.syExportRadioLevel3" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="商业手续比例四级	" prop="syExportRadioLevel4">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.syExportRadioLevel4" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="商业手续比例五级	" prop="syExportRadioLevel5">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.syExportRadioLevel5" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
@@ -509,35 +510,35 @@
             </el-col>
             <el-col :span="8">
               <el-form-item label="非车手续比例一级	" prop="noCarExportRadioLevel1">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.noCarExportRadioLevel1" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="非车手续比例二级	" prop="noCarExportRadioLevel2">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.noCarExportRadioLevel2" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="非车手续比例三级	" prop="noCarExportRadioLevel3">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.noCarExportRadioLevel3" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="非车手续比例四级	" prop="noCarExportRadioLevel4">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.noCarExportRadioLevel4" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
             </el-col>
             <el-col :span="8">
               <el-form-item label="非车手续比例五级	" prop="noCarExportRadioLevel5">
-                <el-input-number size="small" :controls="false" :precision="2" 
+                <el-input-number size="small" :controls="false" :precision="2"
                   v-model="batchUpdateForm.noCarExportRadioLevel5" placeholder="请输入管理费比例">
                 </el-input-number>
               </el-form-item>
@@ -603,7 +604,7 @@
       </div>
     </el-dialog>
 
-    
+
     <el-dialog title="批量修改起止时间" :visible.sync="showUpdate1" width="30%" top="6vh">
       <div class="tab-panestyle">
         <el-form :inline="true" :model="batchUpdateForm1" id="bulkOperation" class="demo-form-inline  tab-panecent" style="padding: 20px;">
@@ -1225,17 +1226,22 @@ export default {
       permissions: null,
       showUpdate1: false,
       batchUpdateForm1: {},
+      carClassList: [],
+      batchUpdatelist:[],
+      lineData: {},
     }
   },
   // 生命周期函数
   created() {
     console.log(this.$route.query.isExternal, 888888);
+    this.lineData = this.$route.query
     this.insuranceCompanyId = this.$route.query.insuranceCompanyId;
     this.productpageRequest.agreementId = this.$route.query.id;
     this.productCostForm.agreementId = this.$route.query.id;
     this.licenseQuery();
     this.getFactorTemplate();
     this.getDicType("productsType"); //车险产品
+    this.getDicType('trafficManagementVehicleType')   // 车辆列表
     //获取操作符
     this.$api.dict.findPage(this.operator).then(res => {
       this.operatorlist = res.data.content;
@@ -1337,7 +1343,9 @@ export default {
             if (val.attrCode == 'LicenseArea') {
               val.dictLabal = this.licenseAreaList;
             }
-            // LicenseArea
+            if (val.attrCode == 'CarClass') {
+              val.dictLabal = this.carClassList
+            }
             return val;
           })
           this.dynamicFormArray = obj.costsAttrLinkList;
@@ -1681,10 +1689,25 @@ export default {
     },
     //产品批量编辑
     batchUpdate(data) {
+      let listName=[];
+      data.map(val=>{
+        let name=this.productPageResult.content.find(ele=>ele.id==val).productName;
+        listName.push(name)
+        return val;
+      })
+      this.batchUpdatelist=listName;
+      console.log(this.batchUpdatelist)
+      let contains1 = listName.every(item => ['单交'].includes(item));
+      let contains2 = listName.every(item => ['单商','单三'].includes(item));
+      let contains3 = listName.every(item => ['交商','交三'].includes(item));
+      if(contains1 || contains2 || contains3){
       this.batchUpdateForm = {
-        ids: data, 
+        ids: data,
       };
       this.batchdialogVisible = true;
+      }else{
+        return this.$message.error('险种选择错误,无法批量修改');
+      }
     },
     //产品编辑
     productUpdate({ row, column }) {
@@ -1705,6 +1728,9 @@ export default {
             if (val.attrCode == 'LicenseArea') {
               val.dictLabal = this.licenseAreaList;
             }
+            if (val.attrCode == 'CarClass') {
+              val.dictLabal = this.carClassList
+            }
             return val;
           })
           this.dynamicFormArray = obj.costsAttrLinks;
@@ -1751,7 +1777,7 @@ export default {
         this.productpageRequest.createEndTime = '';
       }
     },
-    
+
     //产品分页json
     productCostFindPage(data) {
       if (data && data.pageRequest) {
@@ -1819,7 +1845,19 @@ export default {
     getDicType(type) {
       this.$api.insCompany.dicType(type).then((res) => {
         if (res.code == 200) {
-          this[type + "options"] = res.data.ddList;
+          if (type == 'trafficManagementVehicleType') {
+            let data = [];
+            res.data.ddList.map(val => {
+              data.push({
+                code: val.dictValue,
+                name: val.dictTag,
+              })
+              return val;
+            })
+            this.carClassList = data;
+          } else {
+            this[type + "options"] = res.data.ddList;
+          }
         }
       });
     },
@@ -1869,6 +1907,11 @@ export default {
       }
       return contains
     },
+    batchUpdateincludes(){
+      let a = ['单交'];
+      let contains = this.batchUpdatelist.every(item => a.includes(item));
+      return contains
+    },
     productcopypickerOptions() {
       return {
         disabledDate: this.disabledDate1,

+ 113 - 0
src/views/AgreementManage/CarInsurance/AgreementUnderwritingRule.vue

@@ -5,6 +5,8 @@
         规则详情
       </span>
       <div>
+        <el-button class="ktbuttonactive" size="small" :style="ktbuttonStyle"
+          @click="copyButton">协议承保规则复制</el-button>
         <el-button class="ktbuttonactive" size="small" :style="ktbuttonStyle"
           @click="addUnderwritingRule">添加规则</el-button>
         <el-button class="ktbuttonactive" size="small" :style="ktbuttonStyle"
@@ -80,6 +82,37 @@
           :disabled="true"></Product-Cost-Form>
       </div>
     </el-dialog>
+
+    <el-dialog title="协议承保规则复制" :visible.sync="showCopyDialog" width="60%">
+      <div style="padding: 30px;">
+        <el-form>
+          <el-form-item label="协议选择">
+            <el-select v-model="copyAgreementId" placeholder="请选择" size="small" @change="copyAgreementIdChange" clearable>
+              <el-option v-for="item in allAgreementList" :key="item.value" :label="item.agreementName + '-' + (item.businessDescription || '') + '-' + (item.jobDescription || '')" :value="item.id"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-form>
+        <el-table v-if="copyTableDataList.length" :data="copyTableDataList" style="width: 100%" @selection-change="handleSelectionChange">
+          <el-table-column type="selection" width="55" />
+          <el-table-column prop="validInd" label="是否启用" align="center" width="80">
+            <template slot-scope="scope">
+               <div>{{ scope.row.validInd == 1 ? '启用' : '禁用' }}</div>
+             </template>
+          </el-table-column>
+          <el-table-column prop="rulesStartDate" label="规则起期" align="center" />
+          <el-table-column prop="rulesEndDate" label="规则止期" align="center" />
+          <el-table-column prop="ruleDescription" label="规则描述" align="center" />
+          <el-table-column prop="desc" label="规则因子描述" align="center" width="450" />
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" style="background: #EAEDF1;color: #2D4D89;"
+          @click="showCopyDialog = false">取 消</el-button>
+        <el-button size="small" style="background: #2D4D89;color: #fff;border-color: #2D4D89;" type="primary"
+          @click="subCopyDialog">确 定</el-button>
+      </span>
+    </el-dialog>
+
   </div>
 </template>
 
@@ -161,6 +194,12 @@ export default {
       areanumberplateList: [],
       dynamicFormArray: [],
       licenseAreaList: [],
+      showCopyDialog: false,
+      allAgreementList: [],
+      copyAgreementId: '',
+      copyTableDataList: [],
+      selectionList: [],
+      carClassList: [],
     }
   },
   // 生命周期函数
@@ -173,10 +212,72 @@ export default {
     this.$api.dict.findPage(this.operator).then(res => {
       this.operatorlist = res.data.content;
     })
+    this.getDicType('trafficManagementVehicleType')   // 车辆列表
   },
 
   // 方法函数
   methods: {
+    getDicType(type) {
+      this.$api.insCompany.dicType(type).then((res) => {
+        if (res.code == 200) {
+          if (type == 'trafficManagementVehicleType') {
+            let data = [];
+            res.data.ddList.map(val => {
+              data.push({
+                code: val.dictValue,
+                name: val.dictTag,
+              })
+              return val;
+            })
+            this.carClassList = data;
+          } else {
+            this[type + "options"] = res.data.ddList;
+          }
+        }
+      });
+    },
+    subCopyDialog() {
+      if (!this.selectionList.length) {
+        return
+      }
+      let arr = []
+      this.selectionList.forEach((val) => {
+        arr.push(val.id)
+      })
+      let data = {
+        ids: arr,
+        agreementId: this.pageRequest.agreementId,
+        rulesAttrList: this.dynamicFormArray,
+      }
+      this.$api.insCompany.copyRules(data).then((res) => {
+        if (res.code == 200) {
+          this.$message.success(res.msg)
+          this.showCopyDialog = false
+          this.underwritingRulesFindPage()
+        } else {
+          this.$message.error(res.msg)
+        }
+      })
+    },
+    handleSelectionChange(val) {
+      this.selectionList = val
+    },
+    copyAgreementIdChange() {
+      this.$api.insCompany.rulesList({
+        agreementId: this.copyAgreementId
+      }).then((res) => {
+        this.copyTableDataList = res.content || []
+      })
+    },
+    // 复制按钮
+    copyButton() {
+      this.showCopyDialog = true
+      this.$api.insCompany.newGetAllAgreement({
+        companyCode: this.insuranceCompanyId
+      }).then((res) => {
+        this.allAgreementList = res.data
+      })
+    },
     //承保规则历史记录详情
     underwritingRulesHistoryDetails({ row, column }) {
       this.$api.insCompany.undwrtRulesHistoryPageDetails(row.batch).then((res) => {
@@ -196,6 +297,9 @@ export default {
             if (val.attrCode == 'LicenseArea') {
               val.dictLabal = this.licenseAreaList;
             }
+            if (val.attrCode == 'CarClass') {
+              val.dictLabal = this.carClassList
+            }
             return val;
           })
           this.$nextTick(() => {
@@ -247,6 +351,9 @@ export default {
             if (val.attrCode == 'LicenseArea') {
               val.dictLabal = this.licenseAreaList;
             }
+            if (val.attrCode == 'CarClass') {
+              val.dictLabal = this.carClassList
+            }
             return val;
           })
           this.$nextTick(() => {
@@ -407,6 +514,12 @@ export default {
             if (ele.attrName == '车牌号') {
               ele.dictLabal = this.areanumberplateList;
             }
+            if (ele.attrCode == 'LicenseArea') {
+              ele.dictLabal = this.licenseAreaList;
+            }
+            if (ele.attrCode == 'CarClass') {
+              ele.dictLabal = this.carClassList
+            }
           })
           // this.productCostForm.costsAttrLinks = data;
           this.dynamicFormArray = data;

+ 13 - 0
src/views/AgreementManage/CarInsurance/ProductCostExamine.vue

@@ -40,6 +40,11 @@
           default-first-option placeholder="费用描述">
         </el-select>
       </el-form-item>
+      <el-form-item label="费用起止期">
+        <el-date-picker value-format="yyyy-MM-dd" v-model="date1" size="small" type="daterange" align="left"
+          range-separator="至" start-placeholder="费用起期" end-placeholder="费用止期">
+        </el-date-picker>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" @click="costQuery">查询</el-button>
       </el-form-item>
@@ -271,6 +276,7 @@ export default {
   data() {
     return {
       date: "",
+      date1: "",
       reject: "",
       productpageRequest: {
         createStartTime: "",
@@ -668,6 +674,13 @@ export default {
         this.productpageRequest.createStartTime = "";
         this.productpageRequest.createEndTime = "";
       }
+      if (this.date1 != null) {
+        this.productpageRequest.costStartDate = this.date1[0];
+        this.productpageRequest.costsEndDate = this.date1[1];
+      } else {
+        this.productpageRequest.costStartDate = "";
+        this.productpageRequest.costsEndDate = "";
+      }
       this.$api.insCompany
         .getCostsAuditList(this.productpageRequest)
         .then((res) => {

+ 144 - 46
src/views/FinancialManagement/CarInsurance/CompanySettlement/CarInsurance/HandlingFees.vue

@@ -109,7 +109,10 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="车牌号" prop="licenseno">
-              <el-input v-model="formDataList.licenseno" size="small"></el-input>
+              <el-input
+                v-model="formDataList.licenseno"
+                size="small"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -128,7 +131,7 @@
               ></el-cascader>
             </el-form-item>
           </el-col>
-        </el-row> 
+        </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="保险公司" prop="companyId">
@@ -182,8 +185,8 @@
               </el-select>
             </el-form-item>
           </el-col>
-        </el-row> 
-        <el-row> 
+        </el-row>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="被保险人" prop="insuredName">
               <el-input
@@ -192,10 +195,10 @@
               ></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-          <div class="divider"></div>
-          <div class="info-title">保单(投保信息)</div>
-        <el-row> 
+        </el-row>
+        <div class="divider"></div>
+        <div class="info-title">保单(投保信息)</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="交强保单号" prop="policyno">
               <el-input v-model="formDataList.policyno" size="small"></el-input>
@@ -211,25 +214,34 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="交强险保费" prop="jqPremium">
-              <el-input v-model="formDataList.jqPremium" size="small"></el-input>
+              <el-input
+                v-model="formDataList.jqPremium"
+                size="small"
+              ></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-        <el-row> 
+        </el-row>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="车船税" prop="taxamount">
-              <el-input v-model="formDataList.taxamount" size="small"></el-input>
+              <el-input
+                v-model="formDataList.taxamount"
+                size="small"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="商业险保费" prop="syPremium">
-              <el-input v-model="formDataList.syPremium" size="small"></el-input>
+              <el-input
+                v-model="formDataList.syPremium"
+                size="small"
+              ></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-          <div class="divider"></div>
-          <div class="info-title">比例及金额</div>
-        <el-row> 
+        </el-row>
+        <div class="divider"></div>
+        <div class="info-title">比例及金额</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item
               label="交强手续费比例"
@@ -260,10 +272,10 @@
               ></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-          <div class="divider"></div>
-          <div class="info-title">类型</div>
-        <el-row> 
+        </el-row>
+        <div class="divider"></div>
+        <div class="info-title">类型</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="增加类型" prop="addType">
               <el-select
@@ -325,8 +337,8 @@
               <el-input v-model="InvoicingData.taxPoints"></el-input>
             </el-form-item>
           </el-col>
-          </el-row> 
-          <el-row>
+        </el-row>
+        <el-row>
           <el-col :span="10" v-if="InvoicingData.invoicingMethod == '1'">
             <el-form-item label="开票号:" prop="invoicId">
               <el-input v-model="InvoicingData.invoicId"></el-input>
@@ -377,7 +389,7 @@
         :model="formDataAdd"
         label-width="130px"
       >
-       <div class="info-title">基本信息</div>
+        <div class="info-title">基本信息</div>
         <el-row>
           <el-col :span="8">
             <el-form-item label="签单日期" prop="signDate">
@@ -412,7 +424,7 @@
               ></el-cascader>
             </el-form-item>
           </el-col>
-        </el-row> 
+        </el-row>
         <el-row>
           <el-col :span="8">
             <el-form-item label="保险公司" prop="companyId">
@@ -466,8 +478,8 @@
               </el-select>
             </el-form-item>
           </el-col>
-        </el-row> 
-        <el-row> 
+        </el-row>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="被保险人" prop="insuredName">
               <el-input
@@ -476,10 +488,10 @@
               ></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-          <div class="divider"></div>
-          <div class="info-title">保单(投保信息)</div>
-        <el-row> 
+        </el-row>
+        <div class="divider"></div>
+        <div class="info-title">保单(投保信息)</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="交强保单号" prop="policyno">
               <el-input v-model="formDataAdd.policyno" size="small"></el-input>
@@ -498,8 +510,8 @@
               <el-input v-model="formDataAdd.jqPremium" size="small"></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-        <el-row> 
+        </el-row>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="车船税" prop="taxamount">
               <el-input v-model="formDataAdd.taxamount" size="small"></el-input>
@@ -510,10 +522,10 @@
               <el-input v-model="formDataAdd.syPremium" size="small"></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-          <div class="divider"></div>
-          <div class="info-title">比例及金额</div>
-        <el-row> 
+        </el-row>
+        <div class="divider"></div>
+        <div class="info-title">比例及金额</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item
               label="交强手续费比例"
@@ -544,10 +556,10 @@
               ></el-input>
             </el-form-item>
           </el-col>
-        </el-row> 
-          <div class="divider"></div>
-          <div class="info-title">类型</div>
-        <el-row> 
+        </el-row>
+        <div class="divider"></div>
+        <div class="info-title">类型</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="增加类型" prop="addType">
               <el-select
@@ -619,6 +631,52 @@
         >模板下载</el-button
       >
     </el-dialog>
+    <el-dialog :visible.sync="dialogVisibleradio" width="60%">
+      <el-upload
+        style="margin-bottom: 10px"
+        action="#"
+        class="upload-demo"
+        :limit="1"
+        :auto-upload="false"
+        :on-change="drivinguploadRadio"
+        ref="upload3"
+        :file-list="fileListRadio"
+      >
+        <el-button size="small" type="primary">点击上传</el-button>
+      </el-upload>
+      <p>总金额:{{ tableDataRadio.allAmount }}</p>
+      <el-table
+        :data="tableDataRadio.resultList"
+        border
+        style="width: 100%"
+        height="600"
+      >
+        <el-table-column prop="licenseno" label="车牌号"> </el-table-column>
+        <el-table-column prop="policyno" label="交强保单号"> </el-table-column>
+        <el-table-column prop="syPolicyno" label="商业保单号">
+        </el-table-column>
+        <el-table-column
+          prop="jqSuperviseCostsProportion"
+          label="交强手续费比例"
+        >
+        </el-table-column>
+        <el-table-column
+          prop="sySuperviseCostsProportion"
+          label="商业手续费比例"
+        >
+        </el-table-column>
+        <el-table-column prop="jqSuperviseCostsPremiums" label="交强手续费金额">
+        </el-table-column>
+        <el-table-column prop="sySuperviseCostsPremiums" label="商业手续费金额">
+        </el-table-column>
+        <!-- <el-table-column prop="allAmount" label="总金额"> </el-table-column> -->
+      </el-table>
+      <footer
+        style="margin-top: 15px; display: flex; justify-content: flex-end"
+      >
+        <el-button type="primary" @click="confrimBatch">确认</el-button>
+      </footer>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -637,7 +695,7 @@ export default {
   },
   data() {
     return {
-      companyList : [], //保司机构列表
+      companyList: [], //保司机构列表
       excelFileList: [],
       confirmDisabled: false,
       riskcodeList: [],
@@ -1146,6 +1204,12 @@ export default {
             return this.templateDownload();
           },
         },
+        {
+          name: "批量修改比例",
+          click: (row, index) => {
+            return this.handBatchratio();
+          },
+        },
         {
           name: "导出",
           click: (row, index) => {
@@ -1186,6 +1250,9 @@ export default {
       },
       dockingPersonOption: [],
       addTypeList: [],
+      tableDataRadio: {},
+      fileListRadio: [],
+      dialogVisibleradio: false,
     };
   },
   created() {
@@ -1244,6 +1311,37 @@ export default {
     });
   },
   methods: {
+    //打开批量操作修改比例弹框
+    handBatchratio() {
+      this.dialogVisibleradio = true;
+      this.tableDataRadio = {};
+      this.fileListRadio = [];
+    },
+    confrimBatch() {
+      this.$api.task
+        .HandlingFeeBathConfirm({ resultList: this.tableDataRadio.resultList })
+        .then((res) => {
+          if (res.code == 200) {
+            this.$message.success("操作成功");
+
+            this.dialogVisibleradio = false;
+          }
+        });
+    },
+    drivinguploadRadio(file, fileList) {
+      this.fileListRadio = [];
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file.raw);
+      params.append("type", "file");
+      params.append("isNotCar", "1");
+      this.$api.task.HandlingFeeBathImport(params).then((res) => {
+        if (res.code == "200") {
+          this.tableDataRadio = res.data;
+        } else {
+          this.$message.error(res.msg);
+        }
+      });
+    },
     getCompanyList() {
       this.$api.task.queryPartnerCompaniesList("0").then((res) => {
         this.companyList = res.data;
@@ -1278,7 +1376,7 @@ export default {
     },
     agrmentlist() {
       this.$api.task.findPtlAgreementListNew({ type: "" }).then((res) => {
-      //this.$api.task.findPtlAgreementListNew({ type: "2" }).then((res) => {
+        //this.$api.task.findPtlAgreementListNew({ type: "2" }).then((res) => {
         this.agreementTypeoptions = res.data;
       });
     },
@@ -1773,7 +1871,7 @@ export default {
 .inputType {
   width: 180px;
 }
-.divider{
+.divider {
   height: 10px;
   background: #f7f7f7;
 }
@@ -1790,9 +1888,9 @@ export default {
   font-family: PingFang SC, PingFang SC;
   box-sizing: border-box;
 }
-.info-title::before{
+.info-title::before {
   content: "";
-  background: #D42426;
+  background: #d42426;
   width: 4px;
   height: 18px;
   position: absolute;

+ 110 - 24
src/views/FinancialManagement/CarInsurance/CompanySettlement/NoCarInsurance/HandlingFees.vue

@@ -197,7 +197,7 @@
         :model="formDataAdd"
         label-width="130px"
       >
-      <div class="info-title">基本信息</div>
+        <div class="info-title">基本信息</div>
         <el-row>
           <el-col :span="8">
             <el-form-item label="签单日期" prop="signDate">
@@ -232,8 +232,8 @@
               ></el-cascader>
             </el-form-item>
           </el-col>
-          </el-row>
-          <el-row>
+        </el-row>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="保险公司" prop="companyId">
               <el-select
@@ -297,8 +297,8 @@
           </el-col>
         </el-row>
         <div class="divider"></div>
-          <div class="info-title">保单(投保信息)</div>
-        <el-row> 
+        <div class="info-title">保单(投保信息)</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="非车保单号" prop="noPolicyno">
               <el-input
@@ -314,8 +314,8 @@
           </el-col>
         </el-row>
         <div class="divider"></div>
-          <div class="info-title">比例及金额</div>
-        <el-row> 
+        <div class="info-title">比例及金额</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item
               label="非车手续费比例"
@@ -337,8 +337,8 @@
           </el-col>
         </el-row>
         <div class="divider"></div>
-          <div class="info-title">类型</div>
-        <el-row>  
+        <div class="info-title">类型</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="增加类型" prop="addType">
               <el-select
@@ -412,7 +412,10 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="车牌号" prop="licenseno">
-              <el-input v-model="formDataEdit.licenseno" size="small"></el-input>
+              <el-input
+                v-model="formDataEdit.licenseno"
+                size="small"
+              ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -431,8 +434,8 @@
               ></el-cascader>
             </el-form-item>
           </el-col>
-          </el-row>
-          <el-row>
+        </el-row>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="保险公司" prop="companyId">
               <el-select
@@ -496,8 +499,8 @@
           </el-col>
         </el-row>
         <div class="divider"></div>
-          <div class="info-title">保单(投保信息)</div>
-        <el-row> 
+        <div class="info-title">保单(投保信息)</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="非车保单号" prop="noPolicyno">
               <el-input
@@ -508,13 +511,16 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="非车保费" prop="noPremium">
-              <el-input v-model="formDataEdit.noPremium" size="small"></el-input>
+              <el-input
+                v-model="formDataEdit.noPremium"
+                size="small"
+              ></el-input>
             </el-form-item>
           </el-col>
         </el-row>
         <div class="divider"></div>
-          <div class="info-title">比例及金额</div>
-        <el-row> 
+        <div class="info-title">比例及金额</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item
               label="非车手续费比例"
@@ -536,8 +542,8 @@
           </el-col>
         </el-row>
         <div class="divider"></div>
-          <div class="info-title">类型</div>
-        <el-row>  
+        <div class="info-title">类型</div>
+        <el-row>
           <el-col :span="8">
             <el-form-item label="增加类型" prop="addType">
               <el-select
@@ -584,6 +590,45 @@
         >模板下载</el-button
       >
     </el-dialog>
+    <el-dialog :visible.sync="dialogVisibleradio" width="60%">
+      <el-upload
+        style="margin-bottom: 10px"
+        action="#"
+        class="upload-demo"
+        :limit="1"
+        :auto-upload="false"
+        :on-change="drivinguploadRadio"
+        ref="upload3"
+        :file-list="fileListRadio"
+      >
+        <el-button size="small" type="primary">点击上传</el-button>
+      </el-upload>
+      <p>总金额:{{ tableDataRadio.allAmount }}</p>
+      <el-table
+        :data="tableDataRadio.resultList"
+        border
+        style="width: 100%"
+        height="600"
+      >
+        <el-table-column prop="licenseno" label="车牌号"> </el-table-column>
+        <el-table-column prop="noPolicyno" label="非车保单号">
+        </el-table-column>
+
+        <el-table-column prop="noSuperviseCostsPremiums" label="非车手续费金额">
+        </el-table-column>
+        <el-table-column
+          prop="noSuperviseCostsProportion"
+          label="非车手续费比例"
+        >
+        </el-table-column>
+        <!-- <el-table-column prop="allAmount" label="总金额"> </el-table-column> -->
+      </el-table>
+      <footer
+        style="margin-top: 15px; display: flex; justify-content: flex-end"
+      >
+        <el-button type="primary" @click="confrimBatch">确认</el-button>
+      </footer>
+    </el-dialog>
   </div>
 </template>
 <script>
@@ -1051,6 +1096,12 @@ export default {
             return this.templateDownload();
           },
         },
+        {
+          name: "批量修改比例",
+          click: (row, index) => {
+            return this.handBatchratio();
+          },
+        },
         {
           name: "导出",
           click: (row, index) => {
@@ -1097,10 +1148,12 @@ export default {
       dialogVisibleEdit: false,
       formDataEdit: {},
       addTypeList: [],
+      tableDataRadio: {},
+      fileListRadio: [],
+      dialogVisibleradio: false,
     };
   },
   created() {
-    
     this.$api.dept.findDeptTree("9", "").then((res) => {
       this.treedata = res.data;
     });
@@ -1148,6 +1201,39 @@ export default {
     this.getCompanyList();
   },
   methods: {
+    //打开批量操作修改比例弹框
+    handBatchratio() {
+      this.dialogVisibleradio = true;
+      this.tableDataRadio = {};
+      this.fileListRadio = [];
+    },
+    confrimBatch() {
+      this.$api.task
+        .HandlingNotCarFeeBathConfirm({
+          resultList: this.tableDataRadio.resultList,
+        })
+        .then((res) => {
+          if (res.code == 200) {
+            this.$message.success("操作成功");
+
+            this.dialogVisibleradio = false;
+          }
+        });
+    },
+    drivinguploadRadio(file, fileList) {
+      this.fileListRadio = [];
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file.raw);
+      params.append("type", "file");
+      params.append("isNotCar", "0");
+      this.$api.task.HandlingFeeBathNotCarImport(params).then((res) => {
+        if (res.code == "200") {
+          this.tableDataRadio = res.data;
+        } else {
+          this.$message.error(res.msg);
+        }
+      });
+    },
     getCompanyList() {
       this.$api.task.queryPartnerCompaniesList("1").then((res) => {
         this.companyList = res.data;
@@ -1240,7 +1326,7 @@ export default {
     },
     agrmentlist() {
       this.$api.task.findPtlAgreementListNew({ type: "" }).then((res) => {
-      //this.$api.task.findPtlAgreementListNew({ type: "2" }).then((res) => {
+        //this.$api.task.findPtlAgreementListNew({ type: "2" }).then((res) => {
         this.agreementTypeoptions = res.data;
       });
     },
@@ -1643,7 +1729,7 @@ export default {
   margin-bottom: 20px;
   font-size: 14px;
 }
-.divider{
+.divider {
   height: 10px;
   background: #f7f7f7;
 }
@@ -1660,9 +1746,9 @@ export default {
   font-family: PingFang SC, PingFang SC;
   box-sizing: border-box;
 }
-.info-title::before{
+.info-title::before {
   content: "";
-  background: #D42426;
+  background: #d42426;
   width: 4px;
   height: 18px;
   position: absolute;

+ 3 - 0
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyintasks.vue

@@ -767,6 +767,9 @@ export default {
       });
     },
     toChinesNum(num) {
+      if (num == 1500000) {
+        return 150 + '万'
+      }
       let changeNum = ["零", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
       let unit = ["", "0", "00", "000", "0000"];
       num = parseInt(num);

+ 3 - 0
src/views/FinancialManagement/CarInsurance/Verifytasks/Verifyuntasks.vue

@@ -652,6 +652,9 @@ export default {
 
     },
     toChinesNum(num) {
+      if (num == 1500000) {
+        return 150 + '万'
+      }
       let changeNum = [
         "零", "1", "2", "3", "4", "5", "6", "7", "8", "9"
       ];

+ 1300 - 1262
src/views/Letter/ElectricSalescost.vue

@@ -1,17 +1,18 @@
 <template>
-    <!--布局容器-->
-    <div class="container" style="width: 99%; margin-top: 0px">
-        <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
-            @getList="getList" @handleSearchList="getList" :pagination="queryFrom">
-        </templateTable>
-        <el-dialog v-dialogDrag title="修改" :visible.sync="dialogVisible" width="1200px" @close="closeVisible">
-            <div>
-                <div v-if="rowForm.auditStatus=='5'" >
-                    费用计算规则:
-                    <el-radio-group v-model="formDeduction.state" @input="radioChange">
-                        <el-radio v-for="val in telemarketing_ruleoptions" :label="Number(val.value) " :key="val.value" >{{ val.label }}</el-radio>
-                    </el-radio-group>
-                     <!-- <el-select size="small" v-model="formDeduction.state" placeholder="请选择">
+  <!--布局容器-->
+  <div class="container" style="width: 99%; margin-top: 0px">
+    <templateTable :formList="formList" :searchData.sync="searchData" :tableConfig="tableConfig" :data="tableData"
+      @getList="getList" @handleSearchList="getList" :pagination="queryFrom">
+    </templateTable>
+    <el-dialog v-dialogDrag title="修改" :visible.sync="dialogVisible" width="1200px" @close="closeVisible">
+      <div>
+        <div v-if="rowForm.auditStatus == '5'">
+          费用计算规则:
+          <el-radio-group v-model="formDeduction.state" @input="radioChange">
+            <el-radio v-for="val in telemarketing_ruleoptions" :label="Number(val.value)" :key="val.value">{{ val.label
+            }}</el-radio>
+          </el-radio-group>
+          <!-- <el-select size="small" v-model="formDeduction.state" placeholder="请选择">
                         <el-option v-for="item in [
                             {
                                 label: '使用初始方案计算',
@@ -22,1292 +23,1329 @@
                             }]" :key="item.value" :label="item.label" :value="item.value">
                         </el-option>
                     </el-select> -->
-                </div>
-                <el-table :data="formData" border style="margin-top:10px">
-                    <el-table-column prop="insuranceType" label="险种">
-                    </el-table-column>
-                    <el-table-column prop="premium" label="保费金额">
-                        <template slot-scope="scope">
-                            <span>¥{{ scope.row.premium }}</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="totalProportion" label="优惠比例">
-                        <template slot-scope="scope">
-                            <span>{{ scope.row.totalProportion }}%</span>
-                        </template>
-                    </el-table-column>
-                    <el-table-column prop="totalAmount" label="优惠金额">
-                    </el-table-column>
-                    <el-table-column prop="premium" label="扣减比例">
-                        <template slot-scope="scope">
-                            <el-input v-if="scope.row.insuranceType=='交强险'" v-model="formDeduction.jqExportProportion" placeholder="请输入内容"></el-input>
-                            <el-input v-if="scope.row.insuranceType=='商业险'" v-model="formDeduction.syExportProportion" placeholder="请输入内容"></el-input>
-                            <el-input v-if="scope.row.insuranceType=='非车险'" v-model="formDeduction.noCarExportProportion" placeholder="请输入内容"></el-input>
-                        </template>
-                    </el-table-column>
-                </el-table>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button size="small" @click="dialogVisible = false">取 消</el-button>
-                <el-button size="small" type="primary" @click="comfirmDialog">提 交</el-button>
-            </span>
-        </el-dialog>
-        <detailsDialog ref="detailsDialog" :orderInfo.sync="orderInfo" :Feepermissions="false"></detailsDialog>
-
-    </div>
+        </div>
+        <el-table :data="formData" border style="margin-top:10px">
+          <el-table-column prop="insuranceType" label="险种">
+          </el-table-column>
+          <el-table-column prop="premium" label="保费金额">
+            <template slot-scope="scope">
+              <span>¥{{ scope.row.premium }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="firstTotalProportion" label="初始比例">
+            <template slot-scope="scope">
+              <span>{{ scope.row.firstTotalProportion }}</span>%
+            </template>
+          </el-table-column>
+          <el-table-column prop="totalProportion" label="优惠比例">
+            <template slot-scope="scope">
+              <div class="flex j-c a-c">
+                <el-input v-if="scope.row.insuranceType == '交强险'" style="width: 120px;"
+                  v-model="formDeduction.jqdiscountrate" placeholder="交强优惠比例"></el-input>
+                <el-input v-if="scope.row.insuranceType == '商业险'" style="width: 120px;"
+                  v-model="formDeduction.sydiscountrate" placeholder="商业优惠比例"></el-input>
+                <el-input v-if="scope.row.insuranceType == '非车险'" style="width: 120px;"
+                  v-model="formDeduction.nodiscountrate" placeholder="非车优惠比例"></el-input>
+                <span style="margin-left: 10px;">%</span>
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column prop="totalAmount" label="优惠金额">
+          </el-table-column>
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisible = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="comfirmDialog">提 交</el-button>
+      </span>
+    </el-dialog>
+    <detailsDialog ref="detailsDialog" :orderInfo.sync="orderInfo" :Feepermissions="false"></detailsDialog>
+  </div>
 </template>
 <script>
 import templateTable from '@/components/TemplateTable/index.vue'
 import detailsDialog from "@/views/Core/components/detailsDialog.vue";
 
 export default {
-    name: "ElectricSalescost",
+  name: "ElectricSalescost",
 
-    components: { templateTable, detailsDialog },
-    data() {
-        return {
-            stateValue: '',
-            orderInfo: {},
-            formDeduction:{},
-            formList: [
-                {
-                    label: "订单号",
-                    prop: "orderNo",
-                    type: "input",
-                },
-                {
-                    label: "车牌号",
-                    prop: "licenseNo",
-                    type: "input",
-                }, {
-                    label: "车架号",
-                    prop: "frameNo",
-                    type: "input",
-                },
-                {
-                    label: "投保人姓名",
-                    prop: "insuredName",
-                    type: "input",
-                },
-                {
-                    label: "保险公司",
-                    prop: "importTime",
-                    type: "company",
-                }, {
-                    label: "险种",
-                    prop: "productId",
-                    type: "select",
-                    options: []
-                },
-                {
-                    label: "状态",
-                    prop: "auditStatus",
-                    type: "select",
-                    options: [
-                            {
-                                value: '4',
-                                label: '未提交'
-                            }, {
-                                value: '5',
-                                label: '待提交'
-                            },
-                        ]
-                },
-            ],
-            searchData: {},
-            tableConfig: {
-                columns: [
-                    {
-                        prop: 'orderNo', label: '订单号', type: 'text',
-                    },
-                    {
-                        prop: 'id', label: '子订单号', type: 'text',
-                    },
-                    {
-                        prop: 'username', label: '业务员', type: 'text',
-                    }, {
-                        prop: 'userid', label: '业务员工号', type: 'text',
-                    }, {
-                        prop: 'insCompany', label: '承保公司', type: 'text',
-                    }, {
-                        prop: 'licenseNo', label: '车牌号', type: 'text',
-                    }, {
-                        prop: 'insuredName', label: '投保人姓名', type: 'text',
-                    }, {
-                        prop: 'product', label: '投保险种', type: 'text',
-                    }, {
-                        prop: 'auditStatus', label: '状态', type: 'statMap', options: [
-                            {
-                                value: '4',
-                                label: '未提交'
-                            }, {
-                                value: '5',
-                                label: '待提交'
-                            },
-                        ]
-                    },
-                ],
-                loading: true,
-                // operateShow: true,
-                isPaginationShow: true,
-                operationWidth: '180',
-                optBtns: [
-                    {
-                        type: 'primary',
-                        label: '修改费用',
-                        // hide:(row) => {
-                        //  return row.auditStatus == 1?true:false
-                        // },
-                        click: (row, index) => { return this.modifyFun(row) },
-                    },
-                    {
-                        type: 'primary',
-                        label: '查看详情',
-                        click: (row, index) => { return this.detail(row) },
-                    },
-                    {
-                        type: 'primary',
-                        label: '提交',
-                        hide: (row) => {
-                            return row.auditStatus == 5 ? true : false
-                        },
-                        click: (row, index) => { return this.submitTo(row) },
-                    }
-                ]
+  components: { templateTable, detailsDialog },
+  data() {
+    return {
+      stateValue: '',
+      orderInfo: {},
+      formDeduction: {
+        jqdiscountrate: 0,
+        sydiscountrate: 0,
+        nodiscountrate: 0,
+        firstjqdiscountrate:0,
+        firstsydiscountrate:0,
+        firstnodiscountrate:0,
+      },
+      formList: [
+        {
+          label: "订单号",
+          prop: "orderNo",
+          type: "input",
+        },
+        {
+          label: "车牌号",
+          prop: "licenseNo",
+          type: "input",
+        }, {
+          label: "车架号",
+          prop: "frameNo",
+          type: "input",
+        },
+        {
+          label: "投保人姓名",
+          prop: "insuredName",
+          type: "input",
+        },
+        {
+          label: "保险公司",
+          prop: "importTime",
+          type: "company",
+        }, {
+          label: "险种",
+          prop: "productId",
+          type: "select",
+          options: []
+        },
+        {
+          label: "状态",
+          prop: "auditStatus",
+          type: "select",
+          options: [
+            {
+              value: '4',
+              label: '未提交'
+            }, {
+              value: '5',
+              label: '待提交'
             },
-            queryFrom: {
-                pageNum: 1,
-                pageSize: 10,
-                totalSize: 0
+          ]
+        },
+      ],
+      searchData: {},
+      tableConfig: {
+        columns: [
+          {
+            prop: 'orderNo', label: '订单号', type: 'text',
+          },
+          {
+            prop: 'id', label: '子订单号', type: 'text',
+          },
+          {
+            prop: 'username', label: '业务员', type: 'text',
+          }, {
+            prop: 'userid', label: '业务员工号', type: 'text',
+          }, {
+            prop: 'insCompany', label: '承保公司', type: 'text',
+          }, {
+            prop: 'licenseNo', label: '车牌号', type: 'text',
+          }, {
+            prop: 'insuredName', label: '投保人姓名', type: 'text',
+          }, {
+            prop: 'product', label: '投保险种', type: 'text',
+          }, {
+            prop: 'auditStatus', label: '状态', type: 'statMap', options: [
+              {
+                value: '4',
+                label: '未提交'
+              }, {
+                value: '5',
+                label: '待提交'
+              },
+            ]
+          },
+        ],
+        loading: true,
+        // operateShow: true,
+        isPaginationShow: true,
+        operationWidth: '180',
+        optBtns: [
+          {
+            type: 'primary',
+            label: '修改费用',
+            // hide:(row) => {
+            //  return row.auditStatus == 1?true:false
+            // },
+            click: (row, index) => { return this.modifyFun(row) },
+          },
+          {
+            type: 'primary',
+            label: '查看详情',
+            click: (row, index) => { return this.detail(row) },
+          },
+          {
+            type: 'primary',
+            label: '提交',
+            hide: (row) => {
+              return row.auditStatus == 5 ? true : false
             },
-            tableData: [],
-            formData: [],
-            loading: false,
-            dialogVisible: false,
-            outOfBusinessVehicleUseoptions: [],
-            businessVehicleUseoptions: [],
-            natureOfVehicleUseoptions: [],
-            trafficManagementVehicleTypeoptions: [],
-            telemarketing_ruleoptions:[],
-            vehicleTypeoptions: [],
-            energyTypeoptions: [],
-            rowForm:{}
-        };
-    },
-    created() {
-        this.getDicType("natureOfVehicleUse"); //车辆使用性质
-        this.getDicType("vehicleType"); //车辆种类
-        this.getDicType("trafficManagementVehicleType"); //车辆类型
-        this.getDicType("energyType"); //能源种类
-        this.getDicType("businessVehicleUse"); //(车辆用途)营业
-        this.getDicType("outOfBusinessVehicleUse"); //(车辆用途)非营业
-        
-        this.$api.dict
-        .findByLableName('telemarketing_rule')
-        .then((response) => {
-          this.telemarketing_ruleoptions = response.data; // 把获取到的数据赋给this.data
+            click: (row, index) => { return this.submitTo(row) },
+          }
+        ]
+      },
+      queryFrom: {
+        pageNum: 1,
+        pageSize: 10,
+        totalSize: 0
+      },
+      tableData: [],
+      formData: [],
+      loading: false,
+      dialogVisible: false,
+      outOfBusinessVehicleUseoptions: [],
+      businessVehicleUseoptions: [],
+      natureOfVehicleUseoptions: [],
+      trafficManagementVehicleTypeoptions: [],
+      telemarketing_ruleoptions: [],
+      vehicleTypeoptions: [],
+      energyTypeoptions: [],
+      rowForm: {},
+      adjustmentRatioShow: false,//修改比例
+    };
+  },
+  created() {
+    this.getDicType("natureOfVehicleUse"); //车辆使用性质
+    this.getDicType("vehicleType"); //车辆种类
+    this.getDicType("trafficManagementVehicleType"); //车辆类型
+    this.getDicType("energyType"); //能源种类
+    this.getDicType("businessVehicleUse"); //(车辆用途)营业
+    this.getDicType("outOfBusinessVehicleUse"); //(车辆用途)非营业
+
+    this.$api.dict
+      .findByLableName('telemarketing_rule')
+      .then((response) => {
+        this.telemarketing_ruleoptions = response.data; // 把获取到的数据赋给this.data
+      })
+      .catch((error) => {
+        this.telemarketing_ruleoptions = [];
+      });
+    this.$api.insCompany.dicType('productsType').then((res) => {
+      if (res.code == 200) {
+        this.formList.forEach(el => {
+          if (el.label == '险种') {
+            el.options = res.data.ddList
+          }
         })
-        .catch((error) => {
-          this.telemarketing_ruleoptions = [];
+      }
+    });
+    this.getList();
+  },
+  methods: {
+
+    getDicType(type) {
+      this.$api.insCompany.dicType(type).then((res) => {
+        if (res.code == 200) {
+          this[type + "options"] = res.data.ddList;
+        }
+      });
+    },
+    // 修改保存页面
+    comfirmDialog() {
+      this.$api.letter
+        .submitExportFees({ ...this.formDeduction, subOrderNo: this.rowForm.id })
+        .then(res => {
+          if (res.code == 200) {
+            this.$message({
+              message: "修改成功",
+              type: "success"
+            });
+            this.dialogVisible = false;
+            this.getList();
+          }else{
+            this.$message({
+              message: res.msg,
+              type: "error"
+            });
+          }
         });
-        this.$api.insCompany.dicType('productsType').then((res) => {
-            if (res.code == 200) {
-                this.formList.forEach(el => {
-                    if (el.label == '险种') {
-                        el.options = res.data.ddList
-                    }
-                })
-            }
+    },
+    submitTo(row) {
+      this.$api.letter
+        .telemarketingSubmitAudit(row.id)
+        .then(res => {
+          if (res.code == 200) {
+            this.$message({
+              message: res.msg || "操作成功",
+              type: "success"
+            });
+            this.getList();
+          }
         });
-        this.getList();
     },
-    methods: {
-        getDicType(type) {
-            this.$api.insCompany.dicType(type).then((res) => {
-                if (res.code == 200) {
-                    this[type + "options"] = res.data.ddList;
+    capTypedictTag(val, option) {
+      if (option.find((item) => item.dictValue == val)) {
+        return option.find((item) => item.dictValue == val).dictTag;
+      } else {
+        return "-";
+      }
+    },
+    detail(item) {
+      let carImageList = [];
+      let ownerImageList = []; //车主影像
+      let policyImageList = []; //投保人影像
+      let insuredImageList = []; //被保人影像
+      let carCheckImageList = []; //验车照影像
+      for (let i = 0; i < this.global.insureList.length; i++) {
+        this.global.insureList[i].coveragePremium = "";
+        this.global.insureList[i].amount = 0;
+      }
+      let params = {
+        companyId: item.id,
+      };
+      this.$api.letter.getByCompanyId(params).then((res) => {
+        if (res.code == 200) {
+          if (
+            (res.data.carinfo.carnature &&
+              res.data.carinfo.carnature == "02") ||
+            res.data.carinfo.carnature == "非营业"
+          ) {
+            res.data.carinfo.vehicleUse = this.capTypedictTag(
+              res.data.carinfo.vehicleUse,
+              this.outOfBusinessVehicleUseoptions
+            );
+          } else {
+            res.data.carinfo.vehicleUse = this.capTypedictTag(
+              res.data.carinfo.vehicleUse,
+              this.businessVehicleUseoptions
+            );
+          }
+          res.data.carinfo.carnature = this.capTypedictTag(
+            res.data.carinfo.carnature,
+            this.natureOfVehicleUseoptions
+          );
+          res.data.carinfo.cartype = res.data.carinfo.cartype
+            ? this.capTypedictTag(
+              res.data.carinfo.cartype,
+              this.trafficManagementVehicleTypeoptions
+            )
+            : "";
+          res.data.carinfo.cimodelclass = res.data.carinfo.cimodelclass
+            ? this.capTypedictTag(
+              res.data.carinfo.cimodelclass,
+              this.vehicleTypeoptions
+            )
+            : "";
+          res.data.carinfo.energyType = res.data.carinfo.energyType
+            ? this.capTypedictTag(
+              res.data.carinfo.energyType,
+              this.energyTypeoptions
+            )
+            : "";
+          if (res.data.accidentInfo) {
+            res.data.accidentInfo.constructor === Object
+              ? [res.data.accidentInfo]
+              : res.data.accidentInfo;
+          }
+          Object.assign(this.orderInfo, res.data);
+          if (this.orderInfo.riskinfo && this.orderInfo.riskinfo.length > 0) {
+            for (let i = 0; i < this.orderInfo.riskinfo.length; i++) {
+              if (this.orderInfo.riskinfo[i].riskCode == "0510") {
+                for (let j = 0; j < this.orderInfo.kindinfo.length; j++) {
+                  for (let m = 0; m < this.global.insureList.length; m++) {
+                    if (
+                      this.orderInfo.kindinfo[j].kindCode ==
+                      this.global.insureList[m].kindCode
+                    ) {
+                      this.global.insureList[m].coveragePremium =
+                        this.orderInfo.kindinfo[j].coveragePremium;
+                      if (this.orderInfo.kindinfo[j].kindCode == "B") {
+                        this.global.insureList[9].amtList[0].value =
+                          this.orderInfo.kindinfo[j].amount;
+                      }
+                      if (this.orderInfo.kindinfo[j].kindCode == "A") {
+                        this.global.insureList[m].amount = "1";
+                      } else if (this.global.insureList[m].kindCode == "D4") {
+                        this.global.insureList[m].amount =
+                          this.orderInfo.kindinfo[j].unitAmount;
+                      } else if (
+                        this.global.insureList[m].isMainRisk ||
+                        this.global.insureList[m].kindCode == "BD" ||
+                        this.global.insureList[m].kindCode == "L"
+                      ) {
+                        this.global.insureList[m].amount =
+                          this.orderInfo.kindinfo[j].amount;
+                      } else {
+                        this.global.insureList[m].amount =
+                          this.orderInfo.kindinfo[j].deductibleRate;
+                      }
+                    }
+                  }
                 }
+              }
+            }
+          }
+
+          // 获取影像
+          this.$api.letter.findByQuoteNo(item.quoteno).then((resImage) => {
+            Object.keys(resImage.data).forEach((keys) => {
+              if (resImage.data[keys]) {
+                resImage.data[keys].url = resImage.data[keys].url
+                  ? process.env.BASE_URL + resImage.data[keys].url
+                  : null;
+                switch (keys) {
+                  case "C01":
+                  case "D01":
+                    resImage.data[keys].url
+                      ? carImageList.push(resImage.data[keys].url)
+                      : "";
+                    break;
+                  case "C02":
+                  case "D02":
+                    resImage.data[keys].url
+                      ? ownerImageList.push(resImage.data[keys].url)
+                      : "";
+                    break;
+                  case "C03":
+                  case "D03":
+                    resImage.data[keys].url
+                      ? policyImageList.push(resImage.data[keys].url)
+                      : "";
+                    break;
+                  case "C04":
+                  case "D04":
+                    resImage.data[keys].url
+                      ? insuredImageList.push(resImage.data[keys].url)
+                      : "";
+                    break;
+                  case "XC00":
+                  case "GC00":
+                  case "GX00":
+                    resImage.data[keys].url
+                      ? carCheckImageList.push(resImage.data[keys].url)
+                      : "";
+                    break;
+                  default:
+                    break;
+                }
+              }
             });
-        },
-        // 修改保存页面
-        comfirmDialog() {
-            this.$api.letter
-                .submitExportFees({...this.formDeduction,subOrderNo:this.rowForm.id})
-                .then(res => {
-                    if (res.code == 200) {
-                        this.$message({
-                            message: "修改成功",
-                            type: "success"
-                        });
-                        this.dialogVisible = false;
-                        this.getList();
+            let obj = {
+              carImageList: carImageList,
+              ownerImageList: ownerImageList,
+              policyImageList: policyImageList,
+              insuredImageList: insuredImageList,
+              carCheckImageList: carCheckImageList,
+            };
+            this.$refs.detailsDialog.imageFun(obj);
+          });
+          let oldfileList = [];
+          let businessList = [];
+          let accidentList = [];
+          if (res.data.orderstatus == "3") {
+            if (res.data.isExternal == 1) {
+              this.$api.letter
+                .getPolicyPrintexternalOrder(res.data.id)
+                .then((res1) => {
+                  if (res1.code == 200) {
+                    if (res1.data.jqPolicy) {
+                      oldfileList.push({
+                        fileTitle: "交强电子保单",
+                        filename: this.orderInfo.jqpolicyno,
+                        fileurl: res1.data.jqPolicy,
+                      });
                     }
-                });
-        },
-        submitTo(row) {
-            this.$api.letter
-                .telemarketingSubmitAudit(row.id)
-                .then(res => {
-                    if (res.code == 200) {
-                        this.$message({
-                            message: res.msg || "操作成功",
-                            type: "success"
-                        });
-                        this.getList();
+                    if (res1.data.jqSign) {
+                      oldfileList.push({
+                        fileTitle: "交强电子标志",
+                        filename: this.orderInfo.jqpolicyno,
+                        fileurl: res1.data.jqSign,
+                      });
                     }
-                });
-        },
-        capTypedictTag(val, option) {
-            if (option.find((item) => item.dictValue == val)) {
-                return option.find((item) => item.dictValue == val).dictTag;
-            } else {
-                return "-";
-            }
-        },
-        detail(item) {
-            let carImageList = [];
-            let ownerImageList = []; //车主影像
-            let policyImageList = []; //投保人影像
-            let insuredImageList = []; //被保人影像
-            let carCheckImageList = []; //验车照影像
-            for (let i = 0; i < this.global.insureList.length; i++) {
-                this.global.insureList[i].coveragePremium = "";
-                this.global.insureList[i].amount = 0;
-            }
-            let params = {
-                companyId: item.id,
-            };
-            this.$api.letter.getByCompanyId(params).then((res) => {
-                if (res.code == 200) {
-                    if (
-                        (res.data.carinfo.carnature &&
-                            res.data.carinfo.carnature == "02") ||
-                        res.data.carinfo.carnature == "非营业"
-                    ) {
-                        res.data.carinfo.vehicleUse = this.capTypedictTag(
-                            res.data.carinfo.vehicleUse,
-                            this.outOfBusinessVehicleUseoptions
-                        );
-                    } else {
-                        res.data.carinfo.vehicleUse = this.capTypedictTag(
-                            res.data.carinfo.vehicleUse,
-                            this.businessVehicleUseoptions
-                        );
+                    if (res1.data.jqSign) {
+                      accidentList.push({
+                        fileTitle: "商业电子保单",
+                        filename: this.orderInfo.sypolicyno,
+                        fileurl: res1.data.jqSign,
+                      });
                     }
-                    res.data.carinfo.carnature = this.capTypedictTag(
-                        res.data.carinfo.carnature,
-                        this.natureOfVehicleUseoptions
-                    );
-                    res.data.carinfo.cartype = res.data.carinfo.cartype
-                        ? this.capTypedictTag(
-                            res.data.carinfo.cartype,
-                            this.trafficManagementVehicleTypeoptions
-                        )
-                        : "";
-                    res.data.carinfo.cimodelclass = res.data.carinfo.cimodelclass
-                        ? this.capTypedictTag(
-                            res.data.carinfo.cimodelclass,
-                            this.vehicleTypeoptions
-                        )
-                        : "";
-                    res.data.carinfo.energyType = res.data.carinfo.energyType
-                        ? this.capTypedictTag(
-                            res.data.carinfo.energyType,
-                            this.energyTypeoptions
-                        )
-                        : "";
-                    if (res.data.accidentInfo) {
-                        res.data.accidentInfo.constructor === Object
-                            ? [res.data.accidentInfo]
-                            : res.data.accidentInfo;
+                    if (res1.data.noPolicy) {
+                      accidentList.push({
+                        fileTitle: "驾意险保单",
+                        filename: "驾意险保单",
+                        fileurl: res1.data.noPolicy,
+                      });
                     }
-                    Object.assign(this.orderInfo, res.data);
-                    if (this.orderInfo.riskinfo && this.orderInfo.riskinfo.length > 0) {
-                        for (let i = 0; i < this.orderInfo.riskinfo.length; i++) {
-                            if (this.orderInfo.riskinfo[i].riskCode == "0510") {
-                                for (let j = 0; j < this.orderInfo.kindinfo.length; j++) {
-                                    for (let m = 0; m < this.global.insureList.length; m++) {
-                                        if (
-                                            this.orderInfo.kindinfo[j].kindCode ==
-                                            this.global.insureList[m].kindCode
-                                        ) {
-                                            this.global.insureList[m].coveragePremium =
-                                                this.orderInfo.kindinfo[j].coveragePremium;
-                                            if (this.orderInfo.kindinfo[j].kindCode == "B") {
-                                                this.global.insureList[9].amtList[0].value =
-                                                    this.orderInfo.kindinfo[j].amount;
-                                            }
-                                            if (this.orderInfo.kindinfo[j].kindCode == "A") {
-                                                this.global.insureList[m].amount = "1";
-                                            } else if (this.global.insureList[m].kindCode == "D4") {
-                                                this.global.insureList[m].amount =
-                                                    this.orderInfo.kindinfo[j].unitAmount;
-                                            } else if (
-                                                this.global.insureList[m].isMainRisk ||
-                                                this.global.insureList[m].kindCode == "BD" ||
-                                                this.global.insureList[m].kindCode == "L"
-                                            ) {
-                                                this.global.insureList[m].amount =
-                                                    this.orderInfo.kindinfo[j].amount;
-                                            } else {
-                                                this.global.insureList[m].amount =
-                                                    this.orderInfo.kindinfo[j].deductibleRate;
-                                            }
-                                        }
-                                    }
-                                }
+                  } else {
+                    this.$message.error(res1.msg);
+                  }
+                });
+            } else {
+              switch (res.data.inscompany) {
+                case "永安财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .getPolicyPrint({
+                        companyId: item.id,
+                        policytype: "jq",
+                      })
+                      .then((res) => {
+                        //交强保单
+                        if (res.data) {
+                          let result = res.data.replace(/[\r\n]/g, "");
+                          let pdfBase64 = `data:application/pdf;base64,${result}`;
+                          base64ToPath(pdfBase64).then((path) => {
+                            if (path) {
+                              oldfileList.push({
+                                fileTitle: "交强电子保单",
+                                filename: this.orderInfo.jqpolicyno,
+                                fileurl: path,
+                              });
                             }
+                          });
                         }
-                    }
-
-                    // 获取影像
-                    this.$api.letter.findByQuoteNo(item.quoteno).then((resImage) => {
-                        Object.keys(resImage.data).forEach((keys) => {
-                            if (resImage.data[keys]) {
-                                resImage.data[keys].url = resImage.data[keys].url
-                                    ? process.env.BASE_URL + resImage.data[keys].url
-                                    : null;
-                                switch (keys) {
-                                    case "C01":
-                                    case "D01":
-                                        resImage.data[keys].url
-                                            ? carImageList.push(resImage.data[keys].url)
-                                            : "";
-                                        break;
-                                    case "C02":
-                                    case "D02":
-                                        resImage.data[keys].url
-                                            ? ownerImageList.push(resImage.data[keys].url)
-                                            : "";
-                                        break;
-                                    case "C03":
-                                    case "D03":
-                                        resImage.data[keys].url
-                                            ? policyImageList.push(resImage.data[keys].url)
-                                            : "";
-                                        break;
-                                    case "C04":
-                                    case "D04":
-                                        resImage.data[keys].url
-                                            ? insuredImageList.push(resImage.data[keys].url)
-                                            : "";
-                                        break;
-                                    case "XC00":
-                                    case "GC00":
-                                    case "GX00":
-                                        resImage.data[keys].url
-                                            ? carCheckImageList.push(resImage.data[keys].url)
-                                            : "";
-                                        break;
-                                    default:
-                                        break;
-                                }
+                      });
+                    this.$api.letter
+                      .getPolicyPrint2({
+                        companyId: item.id,
+                        policytype: "jq",
+                      })
+                      .then((res) => {
+                        //交强保单
+                        if (res.data) {
+                          let result = res.data.replace(/[\r\n]/g, "");
+                          let pdfBase64 = `data:application/pdf;base64,${result}`;
+                          base64ToPath(pdfBase64).then((path) => {
+                            if (path) {
+                              oldfileList.push({
+                                fileTitle: "交强电子标志",
+                                filename: this.orderInfo.jqpolicyno,
+                                fileurl: path,
+                              });
+                            }
+                          });
+                        }
+                      });
+                  }
+                  if (this.orderInfo.sypolicyno) {
+                    this.$api.letter
+                      .getPolicyPrint({
+                        companyId: item.id,
+                        policytype: "sy",
+                      })
+                      .then((res) => {
+                        //商业保单
+                        if (res.data) {
+                          let result = res.data.replace(/[\r\n]/g, "");
+                          let pdfBase64 = `data:application/pdf;base64,${result}`;
+                          base64ToPath(pdfBase64).then((path) => {
+                            if (path) {
+                              businessList.push({
+                                fileTitle: "商业电子保单",
+                                filename: this.orderInfo.sypolicyno,
+                                fileurl: path,
+                              });
+                            }
+                          });
+                        }
+                      });
+                  }
+                  break;
+                case "华泰财险":
+                  switch (item.apiType) {
+                    case 1:
+                      if (this.orderInfo.jqpolicyno) {
+                        this.$api.letter
+                          .HuataigetPolicyPrint({
+                            companyId: item.id,
+                            riskCode: "0507",
+                            type: "2", //2:保单
+                          })
+                          .then((res) => {
+                            if (res.data) {
+                              if (res.data.jqxPolicyUrl) {
+                                oldfileList.push({
+                                  fileTitle: "交强电子保单",
+                                  filename: this.orderInfo.jqpolicyno,
+                                  fileurl: res.data.jqxPolicyUrl,
+                                });
+                              }
+                              if (res.data.jqxFlagUrl) {
+                                oldfileList.push({
+                                  fileTitle: "交强电子标志",
+                                  filename: this.orderInfo.jqpolicyno,
+                                  fileurl: res.data.jqxFlagUrl,
+                                });
+                              }
+                            } else {
+                              this.$message.error(res.msg);
+                            }
+                          });
+                      }
+                      if (this.orderInfo.sypolicyno) {
+                        this.$api.letter
+                          .HuataigetPolicyPrint({
+                            companyId: item.id,
+                            riskCode: "0510",
+                            type: "2", //2:保单
+                          })
+                          .then((res) => {
+                            if (res.data && res.data.syxPolicyUrl) {
+                              businessList.push({
+                                fileTitle: "商业电子保单",
+                                filename: this.orderInfo.sypolicyno,
+                                fileurl: res.data.syxPolicyUrl,
+                              });
+                            } else {
+                              this.$message.error(res.msg);
                             }
+                          });
+                      }
+                      break;
+                    case 2:
+                      if (
+                        this.orderInfo.jqpolicyno ||
+                        this.orderInfo.sypolicyno
+                      ) {
+                        this.$api.letter
+                          .pythongetPolicyPrint({
+                            subOrderNo: item.id,
+                          })
+                          .then((res) => {
+                            if (res.code == 200 && res.data) {
+                              if (res.data.jqxPolicyUrl) {
+                                oldfileList.push({
+                                  fileTitle: "交强电子保单",
+                                  filename: this.orderInfo.jqpolicyno,
+                                  fileurl: res.data.jqxPolicyUrl,
+                                });
+                              }
+                              if (res.data.jqxFlagUrl) {
+                                oldfileList.push({
+                                  fileTitle: "交强电子标志",
+                                  filename: this.orderInfo.jqpolicyno,
+                                  fileurl: res.data.jqxFlagUrl,
+                                });
+                              }
+                              if (res.data.syxPolicyUrl) {
+                                businessList.push({
+                                  fileTitle: "商业电子保单",
+                                  filename: this.orderInfo.sypolicyno,
+                                  fileurl: res.data.syxPolicyUrl,
+                                });
+                              }
+                              if (
+                                res.data.jyxInfoList &&
+                                res.data.jyxInfoList.length > 0
+                              ) {
+                                res.data.jyxInfoList.forEach((val) => {
+                                  accidentList.push({
+                                    fileTitle: "驾意险保单",
+                                    filename: "驾意险保单",
+                                    fileurl: val.jyx_policy_url,
+                                  });
+                                });
+                              }
+                            } else {
+                              this.$message.error(res.msg);
+                            }
+                          });
+                      }
+                      break;
+                  }
+
+                  break;
+                case "中煤财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .ZhongmeigetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0507",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.data && res.data[0]) {
+                          oldfileList.push({
+                            fileTitle: "交强电子保单",
+                            filename: this.orderInfo.jqpolicyno,
+                            fileurl: res.data[0],
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                    this.$api.letter
+                      .ZhongmeigetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0507",
+                        type: "1", // 1:标志
+                      })
+                      .then((res) => {
+                        if (res.data && res.data[0]) {
+                          oldfileList.push({
+                            fileTitle: "交强电子标志",
+                            filename: this.orderInfo.jqpolicyno,
+                            fileurl: res.data[0],
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.sypolicyno) {
+                    this.$api.letter
+                      .ZhongmeigetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0510",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.data && res.data[0]) {
+                          businessList.push({
+                            fileTitle: "商业电子保单",
+                            filename: this.orderInfo.sypolicyno,
+                            fileurl: res.data[0],
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.crossInsurance.length > 0) {
+                    this.orderInfo.crossInsurance.map((ele) => {
+                      this.$api.letter
+                        .ZhongmeigetPolicyPrint({
+                          ridePolicyNo: ele.ridePolicyNo,
+                          companyId: item.id,
+                          riskCode: "0513",
+                          type: "2", //2:保单
+                        })
+                        .then((res) => {
+                          if (res.code == 200 && res.data) {
+                            accidentList.push({
+                              fileTitle: "驾意险保单",
+                              filename: this.orderInfo.sypolicyno,
+                              fileurl: res.data[0],
+                            });
+                          } else {
+                            this.$message.error(res.msg);
+                          }
                         });
-                        let obj = {
-                            carImageList: carImageList,
-                            ownerImageList: ownerImageList,
-                            policyImageList: policyImageList,
-                            insuredImageList: insuredImageList,
-                            carCheckImageList: carCheckImageList,
-                        };
-                        this.$refs.detailsDialog.imageFun(obj);
                     });
-                    let oldfileList = [];
-                    let businessList = [];
-                    let accidentList = [];
-                    if (res.data.orderstatus == "3") {
-                        if (res.data.isExternal == 1) {
-                            this.$api.letter
-                                .getPolicyPrintexternalOrder(res.data.id)
-                                .then((res1) => {
-                                    if (res1.code == 200) {
-                                        if (res1.data.jqPolicy) {
-                                            oldfileList.push({
-                                                fileTitle: "交强电子保单",
-                                                filename: this.orderInfo.jqpolicyno,
-                                                fileurl: res1.data.jqPolicy,
-                                            });
-                                        }
-                                        if (res1.data.jqSign) {
-                                            oldfileList.push({
-                                                fileTitle: "交强电子标志",
-                                                filename: this.orderInfo.jqpolicyno,
-                                                fileurl: res1.data.jqSign,
-                                            });
-                                        }
-                                        if (res1.data.jqSign) {
-                                            accidentList.push({
-                                                fileTitle: "商业电子保单",
-                                                filename: this.orderInfo.sypolicyno,
-                                                fileurl: res1.data.jqSign,
-                                            });
-                                        }
-                                        if (res1.data.noPolicy) {
-                                            accidentList.push({
-                                                fileTitle: "驾意险保单",
-                                                filename: "驾意险保单",
-                                                fileurl: res1.data.noPolicy,
-                                            });
-                                        }
-                                    } else {
-                                        this.$message.error(res1.msg);
-                                    }
-                                });
+                  }
+                  break;
+                case "永诚财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .yongchenggetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0507",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.code == 200 && res.data) {
+                          if (res.data.jqUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子保单",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: res.data.jqUrl,
+                            });
+                          }
+                          if (res.data.jqFlagUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子标志",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: res.data.jqFlagUrl,
+                            });
+                          }
                         } else {
-                            switch (res.data.inscompany) {
-                                case "永安财险":
-                                    if (this.orderInfo.jqpolicyno) {
-                                        this.$api.letter
-                                            .getPolicyPrint({
-                                                companyId: item.id,
-                                                policytype: "jq",
-                                            })
-                                            .then((res) => {
-                                                //交强保单
-                                                if (res.data) {
-                                                    let result = res.data.replace(/[\r\n]/g, "");
-                                                    let pdfBase64 = `data:application/pdf;base64,${result}`;
-                                                    base64ToPath(pdfBase64).then((path) => {
-                                                        if (path) {
-                                                            oldfileList.push({
-                                                                fileTitle: "交强电子保单",
-                                                                filename: this.orderInfo.jqpolicyno,
-                                                                fileurl: path,
-                                                            });
-                                                        }
-                                                    });
-                                                }
-                                            });
-                                        this.$api.letter
-                                            .getPolicyPrint2({
-                                                companyId: item.id,
-                                                policytype: "jq",
-                                            })
-                                            .then((res) => {
-                                                //交强保单
-                                                if (res.data) {
-                                                    let result = res.data.replace(/[\r\n]/g, "");
-                                                    let pdfBase64 = `data:application/pdf;base64,${result}`;
-                                                    base64ToPath(pdfBase64).then((path) => {
-                                                        if (path) {
-                                                            oldfileList.push({
-                                                                fileTitle: "交强电子标志",
-                                                                filename: this.orderInfo.jqpolicyno,
-                                                                fileurl: path,
-                                                            });
-                                                        }
-                                                    });
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.sypolicyno) {
-                                        this.$api.letter
-                                            .getPolicyPrint({
-                                                companyId: item.id,
-                                                policytype: "sy",
-                                            })
-                                            .then((res) => {
-                                                //商业保单
-                                                if (res.data) {
-                                                    let result = res.data.replace(/[\r\n]/g, "");
-                                                    let pdfBase64 = `data:application/pdf;base64,${result}`;
-                                                    base64ToPath(pdfBase64).then((path) => {
-                                                        if (path) {
-                                                            businessList.push({
-                                                                fileTitle: "商业电子保单",
-                                                                filename: this.orderInfo.sypolicyno,
-                                                                fileurl: path,
-                                                            });
-                                                        }
-                                                    });
-                                                }
-                                            });
-                                    }
-                                    break;
-                                case "华泰财险":
-                                    switch (item.apiType) {
-                                        case 1:
-                                            if (this.orderInfo.jqpolicyno) {
-                                                this.$api.letter
-                                                    .HuataigetPolicyPrint({
-                                                        companyId: item.id,
-                                                        riskCode: "0507",
-                                                        type: "2", //2:保单
-                                                    })
-                                                    .then((res) => {
-                                                        if (res.data) {
-                                                            if (res.data.jqxPolicyUrl) {
-                                                                oldfileList.push({
-                                                                    fileTitle: "交强电子保单",
-                                                                    filename: this.orderInfo.jqpolicyno,
-                                                                    fileurl: res.data.jqxPolicyUrl,
-                                                                });
-                                                            }
-                                                            if (res.data.jqxFlagUrl) {
-                                                                oldfileList.push({
-                                                                    fileTitle: "交强电子标志",
-                                                                    filename: this.orderInfo.jqpolicyno,
-                                                                    fileurl: res.data.jqxFlagUrl,
-                                                                });
-                                                            }
-                                                        } else {
-                                                            this.$message.error(res.msg);
-                                                        }
-                                                    });
-                                            }
-                                            if (this.orderInfo.sypolicyno) {
-                                                this.$api.letter
-                                                    .HuataigetPolicyPrint({
-                                                        companyId: item.id,
-                                                        riskCode: "0510",
-                                                        type: "2", //2:保单
-                                                    })
-                                                    .then((res) => {
-                                                        if (res.data && res.data.syxPolicyUrl) {
-                                                            businessList.push({
-                                                                fileTitle: "商业电子保单",
-                                                                filename: this.orderInfo.sypolicyno,
-                                                                fileurl: res.data.syxPolicyUrl,
-                                                            });
-                                                        } else {
-                                                            this.$message.error(res.msg);
-                                                        }
-                                                    });
-                                            }
-                                            break;
-                                        case 2:
-                                            if (
-                                                this.orderInfo.jqpolicyno ||
-                                                this.orderInfo.sypolicyno
-                                            ) {
-                                                this.$api.letter
-                                                    .pythongetPolicyPrint({
-                                                        subOrderNo: item.id,
-                                                    })
-                                                    .then((res) => {
-                                                        if (res.code == 200 && res.data) {
-                                                            if (res.data.jqxPolicyUrl) {
-                                                                oldfileList.push({
-                                                                    fileTitle: "交强电子保单",
-                                                                    filename: this.orderInfo.jqpolicyno,
-                                                                    fileurl: res.data.jqxPolicyUrl,
-                                                                });
-                                                            }
-                                                            if (res.data.jqxFlagUrl) {
-                                                                oldfileList.push({
-                                                                    fileTitle: "交强电子标志",
-                                                                    filename: this.orderInfo.jqpolicyno,
-                                                                    fileurl: res.data.jqxFlagUrl,
-                                                                });
-                                                            }
-                                                            if (res.data.syxPolicyUrl) {
-                                                                businessList.push({
-                                                                    fileTitle: "商业电子保单",
-                                                                    filename: this.orderInfo.sypolicyno,
-                                                                    fileurl: res.data.syxPolicyUrl,
-                                                                });
-                                                            }
-                                                            if (
-                                                                res.data.jyxInfoList &&
-                                                                res.data.jyxInfoList.length > 0
-                                                            ) {
-                                                                res.data.jyxInfoList.forEach((val) => {
-                                                                    accidentList.push({
-                                                                        fileTitle: "驾意险保单",
-                                                                        filename: "驾意险保单",
-                                                                        fileurl: val.jyx_policy_url,
-                                                                    });
-                                                                });
-                                                            }
-                                                        } else {
-                                                            this.$message.error(res.msg);
-                                                        }
-                                                    });
-                                            }
-                                            break;
-                                    }
-
-                                    break;
-                                case "中煤财险":
-                                    if (this.orderInfo.jqpolicyno) {
-                                        this.$api.letter
-                                            .ZhongmeigetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0507",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.data && res.data[0]) {
-                                                    oldfileList.push({
-                                                        fileTitle: "交强电子保单",
-                                                        filename: this.orderInfo.jqpolicyno,
-                                                        fileurl: res.data[0],
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                        this.$api.letter
-                                            .ZhongmeigetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0507",
-                                                type: "1", // 1:标志
-                                            })
-                                            .then((res) => {
-                                                if (res.data && res.data[0]) {
-                                                    oldfileList.push({
-                                                        fileTitle: "交强电子标志",
-                                                        filename: this.orderInfo.jqpolicyno,
-                                                        fileurl: res.data[0],
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.sypolicyno) {
-                                        this.$api.letter
-                                            .ZhongmeigetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0510",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.data && res.data[0]) {
-                                                    businessList.push({
-                                                        fileTitle: "商业电子保单",
-                                                        filename: this.orderInfo.sypolicyno,
-                                                        fileurl: res.data[0],
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.crossInsurance.length > 0) {
-                                        this.orderInfo.crossInsurance.map((ele) => {
-                                            this.$api.letter
-                                                .ZhongmeigetPolicyPrint({
-                                                    ridePolicyNo: ele.ridePolicyNo,
-                                                    companyId: item.id,
-                                                    riskCode: "0513",
-                                                    type: "2", //2:保单
-                                                })
-                                                .then((res) => {
-                                                    if (res.code == 200 && res.data) {
-                                                        accidentList.push({
-                                                            fileTitle: "驾意险保单",
-                                                            filename: this.orderInfo.sypolicyno,
-                                                            fileurl: res.data[0],
-                                                        });
-                                                    } else {
-                                                        this.$message.error(res.msg);
-                                                    }
-                                                });
-                                        });
-                                    }
-                                    break;
-                                case "永诚财险":
-                                    if (this.orderInfo.jqpolicyno) {
-                                        this.$api.letter
-                                            .yongchenggetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0507",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.code == 200 && res.data) {
-                                                    if (res.data.jqUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子保单",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: res.data.jqUrl,
-                                                        });
-                                                    }
-                                                    if (res.data.jqFlagUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子标志",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: res.data.jqFlagUrl,
-                                                        });
-                                                    }
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.sypolicyno) {
-                                        this.$api.letter
-                                            .yongchenggetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0510",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.data && res.data.syUrl) {
-                                                    businessList.push({
-                                                        fileTitle: "商业电子保单",
-                                                        filename: this.orderInfo.sypolicyno,
-                                                        fileurl: res.data.syUrl,
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.crossInsurance.length > 0) {
-                                        this.orderInfo.crossInsurance.map((ele) => {
-                                            this.$api.letter
-                                                .yongchenggetPolicyPrint({
-                                                    companyId: item.id,
-                                                    policyNumber: ele.policyNumber,
-                                                    riskCode: "0513",
-                                                    type: "2", //2:保单
-                                                })
-                                                .then((res) => {
-                                                    if (res.code == 200 && res.data) {
-                                                        accidentList.push({
-                                                            fileTitle: "驾意险保单",
-                                                            filename: ele.policyNumber,
-                                                            fileurl: res.data.jyUrl,
-                                                        });
-                                                    } else {
-                                                        this.$message.error(res.msg);
-                                                    }
-                                                });
-                                        });
-                                    }
-                                    break;
-                                case "国任财险":
-                                    if (this.orderInfo.jqpolicyno) {
-                                        this.$api.letter
-                                            .guoRengetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0507",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.data) {
-                                                    oldfileList.push({
-                                                        fileTitle: "交强电子保单",
-                                                        filename: this.orderInfo.jqpolicyno,
-                                                        fileurl: res.data,
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                        this.$api.letter
-                                            .guoRengetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0507",
-                                                type: "1", //1:标志
-                                            })
-                                            .then((res) => {
-                                                if (res.data) {
-                                                    oldfileList.push({
-                                                        fileTitle: "交强电子标志",
-                                                        filename: this.orderInfo.jqpolicyno,
-                                                        fileurl: res.data,
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.sypolicyno) {
-                                        this.$api.letter
-                                            .guoRengetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0510",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.data) {
-                                                    businessList.push({
-                                                        fileTitle: "商业电子保单",
-                                                        filename: this.orderInfo.sypolicyno,
-                                                        fileurl: res.data,
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.crossInsurance.length > 0) {
-                                        this.orderInfo.crossInsurance.map((ele) => {
-                                            this.$api.letter
-                                                .guoRengetPolicyPrint({
-                                                    companyId: item.id,
-                                                    policyNumber: ele.policyNumber,
-
-                                                    riskCode: "0513",
-                                                    type: "2", //2:保单
-                                                })
-                                                .then((res) => {
-                                                    if (res.data) {
-                                                        accidentList.push({
-                                                            fileTitle: "驾意险保单",
-                                                            filename: ele.policyNumber,
-                                                            fileurl: res.data,
-                                                        });
-                                                    } else {
-                                                        this.$message.error(res.msg);
-                                                    }
-                                                });
-                                        });
-                                    }
-                                    break;
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.sypolicyno) {
+                    this.$api.letter
+                      .yongchenggetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0510",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.data && res.data.syUrl) {
+                          businessList.push({
+                            fileTitle: "商业电子保单",
+                            filename: this.orderInfo.sypolicyno,
+                            fileurl: res.data.syUrl,
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.crossInsurance.length > 0) {
+                    this.orderInfo.crossInsurance.map((ele) => {
+                      this.$api.letter
+                        .yongchenggetPolicyPrint({
+                          companyId: item.id,
+                          policyNumber: ele.policyNumber,
+                          riskCode: "0513",
+                          type: "2", //2:保单
+                        })
+                        .then((res) => {
+                          if (res.code == 200 && res.data) {
+                            accidentList.push({
+                              fileTitle: "驾意险保单",
+                              filename: ele.policyNumber,
+                              fileurl: res.data.jyUrl,
+                            });
+                          } else {
+                            this.$message.error(res.msg);
+                          }
+                        });
+                    });
+                  }
+                  break;
+                case "国任财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .guoRengetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0507",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.data) {
+                          oldfileList.push({
+                            fileTitle: "交强电子保单",
+                            filename: this.orderInfo.jqpolicyno,
+                            fileurl: res.data,
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                    this.$api.letter
+                      .guoRengetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0507",
+                        type: "1", //1:标志
+                      })
+                      .then((res) => {
+                        if (res.data) {
+                          oldfileList.push({
+                            fileTitle: "交强电子标志",
+                            filename: this.orderInfo.jqpolicyno,
+                            fileurl: res.data,
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.sypolicyno) {
+                    this.$api.letter
+                      .guoRengetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0510",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.data) {
+                          businessList.push({
+                            fileTitle: "商业电子保单",
+                            filename: this.orderInfo.sypolicyno,
+                            fileurl: res.data,
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.crossInsurance.length > 0) {
+                    this.orderInfo.crossInsurance.map((ele) => {
+                      this.$api.letter
+                        .guoRengetPolicyPrint({
+                          companyId: item.id,
+                          policyNumber: ele.policyNumber,
 
-                                case "紫金财险":
-                                    if (this.orderInfo.jqpolicyno) {
-                                        this.$api.letter
-                                            .zijingetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0507",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.data) {
-                                                    oldfileList.push({
-                                                        fileTitle: "交强电子保单",
-                                                        filename: this.orderInfo.jqpolicyno,
-                                                        fileurl: res.data,
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                        this.$api.letter
-                                            .zijingetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0507",
-                                                type: "1", //1:标志
-                                            })
-                                            .then((res) => {
-                                                if (res.data) {
-                                                    oldfileList.push({
-                                                        fileTitle: "交强电子标志",
-                                                        filename: this.orderInfo.jqpolicyno,
-                                                        fileurl: res.data,
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.sypolicyno) {
-                                        this.$api.letter
-                                            .zijingetPolicyPrint({
-                                                companyId: item.id,
-                                                riskCode: "0510",
-                                                type: "2", //2:保单
-                                            })
-                                            .then((res) => {
-                                                if (res.data) {
-                                                    businessList.push({
-                                                        fileTitle: "商业电子保单",
-                                                        filename: this.orderInfo.sypolicyno,
-                                                        fileurl: res.data,
-                                                    });
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    if (this.orderInfo.crossInsurance.length > 0) {
-                                        this.orderInfo.crossInsurance.map((ele) => {
-                                            this.$api.letter
-                                                .zijingetPolicyPrint({
-                                                    companyId: item.id,
-                                                    policyNumber: ele.policyNumber,
-                                                    riskCode: "0513",
-                                                    type: "2", //2:保单
-                                                })
-                                                .then((res) => {
-                                                    if (res.data) {
-                                                        accidentList.push({
-                                                            fileTitle: "驾意险保单",
-                                                            filename: ele.policyNumber,
-                                                            fileurl: res.data,
-                                                        });
-                                                    } else {
-                                                        this.$message.error(res.msg);
-                                                    }
-                                                });
-                                        });
-                                    }
-                                    break;
-                                case "渤海财险":
-                                    if (this.orderInfo.jqpolicyno) {
-                                        this.$api.letter
-                                            .getPolicyPrintboHai({
-                                                companyId: item.id,
-                                            })
-                                            .then((res) => {
-                                                if (res.code == 200 && res.data) {
-                                                    if (res.data.jqxPolicyUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子保单",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: res.data.jqxPolicyUrl,
-                                                        });
-                                                    }
-                                                    if (res.data.jqxFlagUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子标志",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: res.data.jqxFlagUrl,
-                                                        });
-                                                    }
-                                                    if (res.data.syxPolicyUrl) {
-                                                        businessList.push({
-                                                            fileTitle: "商业电子保单",
-                                                            filename: this.orderInfo.sypolicyno,
-                                                            fileurl: res.data.syxPolicyUrl,
-                                                        });
-                                                    }
-                                                    if (
-                                                        res.data.jyxInfoList &&
-                                                        res.data.jyxInfoList.length > 0
-                                                    ) {
-                                                        res.data.jyxInfoList.forEach((val) => {
-                                                            accidentList.push({
-                                                                fileTitle: "驾意险保单",
-                                                                filename: "驾意险保单",
-                                                                fileurl: val.jyx_policy_url,
-                                                            });
-                                                        });
-                                                    }
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    break;
-                                case "平安财险":
-                                    if (this.orderInfo.jqpolicyno) {
-                                        this.$api.letter
-                                            .pingangetPolicyPrint({
-                                                companyId: item.id,
-                                            })
-                                            .then((res) => {
-                                                if (res.code == 200 && res.data) {
-                                                    if (res.data.jqxPolicyUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子保单",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: process.env.BASE_URL + res.data.jqxPolicyUrl,
-                                                        });
-                                                    }
-                                                    if (res.data.jqxFlagUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子标志",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: process.env.BASE_URL + res.data.jqxFlagUrl,
-                                                        });
-                                                    }
-                                                    if (res.data.syxPolicyUrl) {
-                                                        businessList.push({
-                                                            fileTitle: "商业电子保单",
-                                                            filename: this.orderInfo.sypolicyno,
-                                                            fileurl: process.env.BASE_URL + res.data.syxPolicyUrl,
-                                                        });
-                                                    }
-                                                    if (
-                                                        res.data.jyxInfoList &&
-                                                        res.data.jyxInfoList.length > 0
-                                                    ) {
-                                                        res.data.jyxInfoList.forEach((val) => {
-                                                            accidentList.push({
-                                                                fileTitle: "驾意险保单",
-                                                                filename: "驾意险保单",
-                                                                fileurl: process.env.BASE_URL + val.jyx_policy_url,
-                                                            });
-                                                        });
-                                                    }
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    break;
-                                case "恒邦财险":
-                                case "安盛天平":
-                                case "中国人寿":
-                                case "太平财险":
-                                case "华农财险":
-                                case "众安财险":
-                                case "泰康财险":
-                                    if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
-                                        this.$api.letter
-                                            .pythongetPolicyPrint({
-                                                subOrderNo: item.id,
-                                            })
-                                            .then((res) => {
-                                                if (res.code == 200 && res.data) {
-                                                    if (res.data.jqxPolicyUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子保单",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: res.data.jqxPolicyUrl,
-                                                        });
-                                                    }
-                                                    if (res.data.jqxFlagUrl) {
-                                                        oldfileList.push({
-                                                            fileTitle: "交强电子标志",
-                                                            filename: this.orderInfo.jqpolicyno,
-                                                            fileurl: res.data.jqxFlagUrl,
-                                                        });
-                                                    }
-                                                    if (res.data.syxPolicyUrl) {
-                                                        businessList.push({
-                                                            fileTitle: "商业电子保单",
-                                                            filename: this.orderInfo.sypolicyno,
-                                                            fileurl: res.data.syxPolicyUrl,
-                                                        });
-                                                    }
-                                                    if (
-                                                        res.data.jyxInfoList &&
-                                                        res.data.jyxInfoList.length > 0
-                                                    ) {
-                                                        res.data.jyxInfoList.forEach((val) => {
-                                                            accidentList.push({
-                                                                fileTitle: "驾意险保单",
-                                                                filename: "驾意险保单",
-                                                                fileurl: val.jyx_policy_url,
-                                                            });
-                                                        });
-                                                    }
-                                                } else {
-                                                    this.$message.error(res.msg);
-                                                }
-                                            });
-                                    }
-                                    break;
-                                case "大家财险":
-                                    switch (item.apiType) {
-                                        case 1:
-                                            if (this.orderInfo.jqpolicyno) {
-                                                this.$api.letter
-                                                    .obtainWarranty({
-                                                        companyId: item.id,
-                                                        riskCode: "0507",
-                                                        type: "2", //2:保单
-                                                    })
-                                                    .then((res) => {
-                                                        if (res.data) {
-                                                            oldfileList.push({
-                                                                fileTitle: "交强电子保单",
-                                                                filename: this.orderInfo.jqpolicyno,
-                                                                fileurl: res.data,
-                                                            });
-                                                        } else {
-                                                            this.$message.error(res.msg);
-                                                        }
-                                                    });
-                                                this.$api.letter
-                                                    .obtainWarranty({
-                                                        companyId: item.id,
-                                                        riskCode: "0507",
-                                                        type: "1", //1:标志
-                                                    })
-                                                    .then((res) => {
-                                                        if (res.data) {
-                                                            oldfileList.push({
-                                                                fileTitle: "交强电子标志",
-                                                                filename: this.orderInfo.jqpolicyno,
-                                                                fileurl: res.data,
-                                                            });
-                                                        } else {
-                                                            this.$message.error(res.msg);
-                                                        }
-                                                    });
-                                            }
-                                            if (this.orderInfo.sypolicyno) {
-                                                this.$api.letter
-                                                    .obtainWarranty({
-                                                        companyId: item.id,
-                                                        riskCode: "0510",
-                                                        type: "2", //2:保单
-                                                    })
-                                                    .then((res) => {
-                                                        if (res.data) {
-                                                            businessList.push({
-                                                                fileTitle: "商业电子保单",
-                                                                filename: this.orderInfo.sypolicyno,
-                                                                fileurl: res.data,
-                                                            });
-                                                        }
-                                                    });
-                                            }
-                                            if (this.orderInfo.crossInsurance.length > 0) {
-                                                this.orderInfo.crossInsurance.map((ele) => {
-                                                    this.$api.letter
-                                                        .zijingetPolicyPrint({
-                                                            companyId: item.id,
-                                                            policyNumber: ele.policyNumber,
-                                                            riskCode: "0513",
-                                                            type: "2", //2:保单
-                                                        })
-                                                        .then((res) => {
-                                                            if (res.data) {
-                                                                accidentList.push({
-                                                                    fileTitle: "驾意险保单",
-                                                                    filename: ele.policyNumber,
-                                                                    fileurl: res.data,
-                                                                });
-                                                            } else {
-                                                                this.$message.error(res.msg);
-                                                            }
-                                                        });
-                                                });
-                                            }
-                                            break;
-                                        case 2:
-                                            if (
-                                                this.orderInfo.jqpolicyno ||
-                                                this.orderInfo.sypolicyno
-                                            ) {
-                                                this.$api.letter
-                                                    .pythongetPolicyPrint({
-                                                        subOrderNo: item.id,
-                                                    })
-                                                    .then((res) => {
-                                                        if (res.code == 200 && res.data) {
-                                                            if (res.data.jqxPolicyUrl) {
-                                                                oldfileList.push({
-                                                                    fileTitle: "交强电子保单",
-                                                                    filename: this.orderInfo.jqpolicyno,
-                                                                    fileurl: res.data.jqxPolicyUrl,
-                                                                });
-                                                            }
-                                                            if (res.data.jqxFlagUrl) {
-                                                                oldfileList.push({
-                                                                    fileTitle: "交强电子标志",
-                                                                    filename: this.orderInfo.jqpolicyno,
-                                                                    fileurl: res.data.jqxFlagUrl,
-                                                                });
-                                                            }
-                                                            if (res.data.syxPolicyUrl) {
-                                                                businessList.push({
-                                                                    fileTitle: "商业电子保单",
-                                                                    filename: this.orderInfo.sypolicyno,
-                                                                    fileurl: res.data.syxPolicyUrl,
-                                                                });
-                                                            }
-                                                            if (
-                                                                res.data.jyxInfoList &&
-                                                                res.data.jyxInfoList.length > 0
-                                                            ) {
-                                                                res.data.jyxInfoList.forEach((val) => {
-                                                                    accidentList.push({
-                                                                        fileTitle: "驾意险保单",
-                                                                        filename: "驾意险保单",
-                                                                        fileurl: val.jyx_policy_url,
-                                                                    });
-                                                                });
-                                                            }
-                                                        } else {
-                                                            this.$message.error(res.msg);
-                                                        }
-                                                    });
-                                            }
-                                            break;
-                                    }
+                          riskCode: "0513",
+                          type: "2", //2:保单
+                        })
+                        .then((res) => {
+                          if (res.data) {
+                            accidentList.push({
+                              fileTitle: "驾意险保单",
+                              filename: ele.policyNumber,
+                              fileurl: res.data,
+                            });
+                          } else {
+                            this.$message.error(res.msg);
+                          }
+                        });
+                    });
+                  }
+                  break;
 
-                                    break;
-                                default:
-                            }
+                case "紫金财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .zijingetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0507",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.data) {
+                          oldfileList.push({
+                            fileTitle: "交强电子保单",
+                            filename: this.orderInfo.jqpolicyno,
+                            fileurl: res.data,
+                          });
+                        } else {
+                          this.$message.error(res.msg);
                         }
+                      });
+                    this.$api.letter
+                      .zijingetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0507",
+                        type: "1", //1:标志
+                      })
+                      .then((res) => {
+                        if (res.data) {
+                          oldfileList.push({
+                            fileTitle: "交强电子标志",
+                            filename: this.orderInfo.jqpolicyno,
+                            fileurl: res.data,
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.sypolicyno) {
+                    this.$api.letter
+                      .zijingetPolicyPrint({
+                        companyId: item.id,
+                        riskCode: "0510",
+                        type: "2", //2:保单
+                      })
+                      .then((res) => {
+                        if (res.data) {
+                          businessList.push({
+                            fileTitle: "商业电子保单",
+                            filename: this.orderInfo.sypolicyno,
+                            fileurl: res.data,
+                          });
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  if (this.orderInfo.crossInsurance.length > 0) {
+                    this.orderInfo.crossInsurance.map((ele) => {
+                      this.$api.letter
+                        .zijingetPolicyPrint({
+                          companyId: item.id,
+                          policyNumber: ele.policyNumber,
+                          riskCode: "0513",
+                          type: "2", //2:保单
+                        })
+                        .then((res) => {
+                          if (res.data) {
+                            accidentList.push({
+                              fileTitle: "驾意险保单",
+                              filename: ele.policyNumber,
+                              fileurl: res.data,
+                            });
+                          } else {
+                            this.$message.error(res.msg);
+                          }
+                        });
+                    });
+                  }
+                  break;
+                case "渤海财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .getPolicyPrintboHai({
+                        companyId: item.id,
+                      })
+                      .then((res) => {
+                        if (res.code == 200 && res.data) {
+                          if (res.data.jqxPolicyUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子保单",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: res.data.jqxPolicyUrl,
+                            });
+                          }
+                          if (res.data.jqxFlagUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子标志",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: res.data.jqxFlagUrl,
+                            });
+                          }
+                          if (res.data.syxPolicyUrl) {
+                            businessList.push({
+                              fileTitle: "商业电子保单",
+                              filename: this.orderInfo.sypolicyno,
+                              fileurl: res.data.syxPolicyUrl,
+                            });
+                          }
+                          if (
+                            res.data.jyxInfoList &&
+                            res.data.jyxInfoList.length > 0
+                          ) {
+                            res.data.jyxInfoList.forEach((val) => {
+                              accidentList.push({
+                                fileTitle: "驾意险保单",
+                                filename: "驾意险保单",
+                                fileurl: val.jyx_policy_url,
+                              });
+                            });
+                          }
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  break;
+                case "平安财险":
+                  if (this.orderInfo.jqpolicyno) {
+                    this.$api.letter
+                      .pingangetPolicyPrint({
+                        companyId: item.id,
+                      })
+                      .then((res) => {
+                        if (res.code == 200 && res.data) {
+                          if (res.data.jqxPolicyUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子保单",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: process.env.BASE_URL + res.data.jqxPolicyUrl,
+                            });
+                          }
+                          if (res.data.jqxFlagUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子标志",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: process.env.BASE_URL + res.data.jqxFlagUrl,
+                            });
+                          }
+                          if (res.data.syxPolicyUrl) {
+                            businessList.push({
+                              fileTitle: "商业电子保单",
+                              filename: this.orderInfo.sypolicyno,
+                              fileurl: process.env.BASE_URL + res.data.syxPolicyUrl,
+                            });
+                          }
+                          if (
+                            res.data.jyxInfoList &&
+                            res.data.jyxInfoList.length > 0
+                          ) {
+                            res.data.jyxInfoList.forEach((val) => {
+                              accidentList.push({
+                                fileTitle: "驾意险保单",
+                                filename: "驾意险保单",
+                                fileurl: process.env.BASE_URL + val.jyx_policy_url,
+                              });
+                            });
+                          }
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  break;
+                case "恒邦财险":
+                case "安盛天平":
+                case "中国人寿":
+                case "太平财险":
+                case "华农财险":
+                case "众安财险":
+                case "泰康财险":
+                  if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
+                    this.$api.letter
+                      .pythongetPolicyPrint({
+                        subOrderNo: item.id,
+                      })
+                      .then((res) => {
+                        if (res.code == 200 && res.data) {
+                          if (res.data.jqxPolicyUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子保单",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: res.data.jqxPolicyUrl,
+                            });
+                          }
+                          if (res.data.jqxFlagUrl) {
+                            oldfileList.push({
+                              fileTitle: "交强电子标志",
+                              filename: this.orderInfo.jqpolicyno,
+                              fileurl: res.data.jqxFlagUrl,
+                            });
+                          }
+                          if (res.data.syxPolicyUrl) {
+                            businessList.push({
+                              fileTitle: "商业电子保单",
+                              filename: this.orderInfo.sypolicyno,
+                              fileurl: res.data.syxPolicyUrl,
+                            });
+                          }
+                          if (
+                            res.data.jyxInfoList &&
+                            res.data.jyxInfoList.length > 0
+                          ) {
+                            res.data.jyxInfoList.forEach((val) => {
+                              accidentList.push({
+                                fileTitle: "驾意险保单",
+                                filename: "驾意险保单",
+                                fileurl: val.jyx_policy_url,
+                              });
+                            });
+                          }
+                        } else {
+                          this.$message.error(res.msg);
+                        }
+                      });
+                  }
+                  break;
+                case "大家财险":
+                  switch (item.apiType) {
+                    case 1:
+                      if (this.orderInfo.jqpolicyno) {
+                        this.$api.letter
+                          .obtainWarranty({
+                            companyId: item.id,
+                            riskCode: "0507",
+                            type: "2", //2:保单
+                          })
+                          .then((res) => {
+                            if (res.data) {
+                              oldfileList.push({
+                                fileTitle: "交强电子保单",
+                                filename: this.orderInfo.jqpolicyno,
+                                fileurl: res.data,
+                              });
+                            } else {
+                              this.$message.error(res.msg);
+                            }
+                          });
+                        this.$api.letter
+                          .obtainWarranty({
+                            companyId: item.id,
+                            riskCode: "0507",
+                            type: "1", //1:标志
+                          })
+                          .then((res) => {
+                            if (res.data) {
+                              oldfileList.push({
+                                fileTitle: "交强电子标志",
+                                filename: this.orderInfo.jqpolicyno,
+                                fileurl: res.data,
+                              });
+                            } else {
+                              this.$message.error(res.msg);
+                            }
+                          });
+                      }
+                      if (this.orderInfo.sypolicyno) {
+                        this.$api.letter
+                          .obtainWarranty({
+                            companyId: item.id,
+                            riskCode: "0510",
+                            type: "2", //2:保单
+                          })
+                          .then((res) => {
+                            if (res.data) {
+                              businessList.push({
+                                fileTitle: "商业电子保单",
+                                filename: this.orderInfo.sypolicyno,
+                                fileurl: res.data,
+                              });
+                            }
+                          });
+                      }
+                      if (this.orderInfo.crossInsurance.length > 0) {
+                        this.orderInfo.crossInsurance.map((ele) => {
+                          this.$api.letter
+                            .zijingetPolicyPrint({
+                              companyId: item.id,
+                              policyNumber: ele.policyNumber,
+                              riskCode: "0513",
+                              type: "2", //2:保单
+                            })
+                            .then((res) => {
+                              if (res.data) {
+                                accidentList.push({
+                                  fileTitle: "驾意险保单",
+                                  filename: ele.policyNumber,
+                                  fileurl: res.data,
+                                });
+                              } else {
+                                this.$message.error(res.msg);
+                              }
+                            });
+                        });
+                      }
+                      break;
+                    case 2:
+                      if (
+                        this.orderInfo.jqpolicyno ||
+                        this.orderInfo.sypolicyno
+                      ) {
+                        this.$api.letter
+                          .pythongetPolicyPrint({
+                            subOrderNo: item.id,
+                          })
+                          .then((res) => {
+                            if (res.code == 200 && res.data) {
+                              if (res.data.jqxPolicyUrl) {
+                                oldfileList.push({
+                                  fileTitle: "交强电子保单",
+                                  filename: this.orderInfo.jqpolicyno,
+                                  fileurl: res.data.jqxPolicyUrl,
+                                });
+                              }
+                              if (res.data.jqxFlagUrl) {
+                                oldfileList.push({
+                                  fileTitle: "交强电子标志",
+                                  filename: this.orderInfo.jqpolicyno,
+                                  fileurl: res.data.jqxFlagUrl,
+                                });
+                              }
+                              if (res.data.syxPolicyUrl) {
+                                businessList.push({
+                                  fileTitle: "商业电子保单",
+                                  filename: this.orderInfo.sypolicyno,
+                                  fileurl: res.data.syxPolicyUrl,
+                                });
+                              }
+                              if (
+                                res.data.jyxInfoList &&
+                                res.data.jyxInfoList.length > 0
+                              ) {
+                                res.data.jyxInfoList.forEach((val) => {
+                                  accidentList.push({
+                                    fileTitle: "驾意险保单",
+                                    filename: "驾意险保单",
+                                    fileurl: val.jyx_policy_url,
+                                  });
+                                });
+                              }
+                            } else {
+                              this.$message.error(res.msg);
+                            }
+                          });
+                      }
+                      break;
+                  }
 
-                        let obj = {
-                            oldfileList: oldfileList,
-                            businessList,
-                            accidentList,
-                        };
+                  break;
+                default:
+              }
+            }
 
-                        this.$refs.detailsDialog.warrantyFun(obj);
-                    }
+            let obj = {
+              oldfileList: oldfileList,
+              businessList,
+              accidentList,
+            };
 
-                    this.$refs.detailsDialog.setBackupVisible(true);
-                } else {
-                    this.$message.error("订单获取失败");
-                }
-            });
-        },
+            this.$refs.detailsDialog.warrantyFun(obj);
+          }
 
-        //列表数据
-        getList(data) {
-            this.tableConfig.loading = true;
-            this.$api.letter.getOrderList({ ...data, ...this.queryFrom, }).then(res => {
-                if (res.data) {
-                    this.tableData = res.data.content;
-                    this.queryFrom.pageNum = res.data.pageNum;
-                    this.queryFrom.pageSize = res.data.pageSize;
-                    this.queryFrom.totalSize = res.data.totalSize;
-                    this.tableConfig.loading = false;
+          this.$refs.detailsDialog.setBackupVisible(true);
+        } else {
+          this.$message.error("订单获取失败");
+        }
+      });
+    },
 
-                } else {
-                    this.tableConfig.loading = false;
-                }
-            });
-        },
+    //列表数据
+    getList(data) {
+      this.tableConfig.loading = true;
+      this.$api.letter.getOrderList({ ...data, ...this.queryFrom, }).then(res => {
+        if (res.data) {
+          this.tableData = res.data.content;
+          this.queryFrom.pageNum = res.data.pageNum;
+          this.queryFrom.pageSize = res.data.pageSize;
+          this.queryFrom.totalSize = res.data.totalSize;
+          this.tableConfig.loading = false;
 
-        // 修改页面
-        modifyFun(row) {
-            this.rowForm=row
-            this.formDeduction={
-                state:1,
-            }
-            this.$api.letter
-                .telemarketingEdit({subOrderId:row.id,state:row.auditStatus=='5'?'2':'1'})
-                .then(res => {
-                    if (res.code == 200) {
-                        this.dialogVisible = true;
-                        this.formData = res.data.exportFee
-                    }
-                    else{
-                        this.$message.error(res.msg)
-                    }
-                });
+        } else {
+          this.tableConfig.loading = false;
+        }
+      });
+    },
 
-        },
-        radioChange(e){
-            // if(e=='1'){
-                this.$api.letter
-                .telemarketingEdit({subOrderId:this.rowForm.id,state:e=='0'?'1':'2'})
-                .then(res => {
-                    if (res.code == 200) {
-                        this.formData = res.data.exportFee
-                    }
-                    else{
-                        this.$message.error(res.msg)
-                    }
-                });
-            // }
-        },
-        closeVisible() {
-            this.dialogVisible = false;
-        },
+    // 修改页面
+    modifyFun(row) {
+      this.rowForm = row
+      this.formDeduction = {
+        state: 1,
+      }
+      this.$api.letter
+        .telemarketingEdit({ subOrderId: row.id, state: row.auditStatus == '5' ? '2' : '1' })
+        .then(res => {
+          if (res.code == 200) {
+            this.dialogVisible = true;
+            this.formData = res.data.exportFee
+            let list = JSON.parse(JSON.stringify(res.data.exportFee));
+            list.map(val => {
+              switch (val.insuranceType) {
+                case '交强险':
+                this.formDeduction.jqdiscountrate = val.totalProportion;
+                this.formDeduction.firstjqdiscountrate = val.firstTotalProportion;
+                  break;
+                case '商业险':
+                  this.formDeduction.sydiscountrate = val.totalProportion;
+                this.formDeduction.firstsydiscountrate = val.firstTotalProportion;
+                  break;
+                case '非车险':
+                  this.formDeduction.nodiscountrate = val.totalProportion;
+                this.formDeduction.firstnodiscountrate = val.firstTotalProportion;
+                  break;
+              }
+              return val;
+            })
+            this.formDeduction = { ...this.formDeduction, state: 1, }
+          }
+          else {
+            this.$message.error(res.msg)
+          }
+        });
 
-        importFun() {
-            this.$refs.importDialog.open()
-            this.$refs.importDialog.$refs.upload.clearFiles();
-        },
-        tablePageChange(val) {
-            this.queryFrom.pageSize = val;
-            this.getList();
-        },
-        tableCurrentChange(val) {
-            this.queryFrom.pageNum = val;
-            this.getList();
-        },
+    },
+    radioChange(e) {
+      // if(e=='1'){
+      this.$api.letter
+        .telemarketingEdit({ subOrderId: this.rowForm.id, state: e == '0' ? '1' : '2' })
+        .then(res => {
+          if (res.code == 200) {
+            this.formData = res.data.exportFee
+          }
+          else {
+            this.$message.error(res.msg)
+          }
+        });
+      // }
+    },
+    closeVisible() {
+      this.dialogVisible = false;
+    },
 
-    }
+    importFun() {
+      this.$refs.importDialog.open()
+      this.$refs.importDialog.$refs.upload.clearFiles();
+    },
+    tablePageChange(val) {
+      this.queryFrom.pageSize = val;
+      this.getList();
+    },
+    tableCurrentChange(val) {
+      this.queryFrom.pageNum = val;
+      this.getList();
+    },
+
+  }
 };
 </script>
-    
+
 <style scoped></style>
-    

+ 124 - 55
src/views/NavBar/NavBar.vue

@@ -3,21 +3,48 @@
     <!-- logo -->
     <div
       class="logo flex a-c j-c"
-      style='background-color:#fff;'
-      :class="collapse?'menu-bar-collapse-width':'menu-bar-width'"
+      style="background-color: #fff"
+      :class="collapse ? 'menu-bar-collapse-width' : 'menu-bar-width'"
       @click="$router.push('/')"
     >
-      <img style="margin-right:0" v-if="collapse" src="@/assets/image/new_logo.png" />
-      <div v-if="!collapse" class="flex j-c a-c" >
-        <img src="@/assets/image/new_logo.png" />
-        <span>{{appName}}</span>
-      </div>
+      <img
+        style="margin-right: 0"
+        v-if="collapse"
+        src="@/assets/image/new_logo.png"
+      />
+      <el-dropdown>
+        <div v-if="!collapse" class="flex j-c a-c">
+          <img src="@/assets/image/new_logo.png" />
+          <span>{{ appName }}</span>
+          <i class="el-icon-caret-bottom"></i>
+        </div>
+        <el-dropdown-menu slot="dropdown">
+          <el-dropdown-item>
+            <div class="flex">
+              <img
+                src="@/assets/image/new_logo.png"
+                style="width: 30px; height: 30px; margin-right: 5px"
+              />
+              <span>{{ appName }}</span>
+            </div>
+          </el-dropdown-item>
+          <el-dropdown-item v-if="showConfig">
+            <div class="flex" @click="toConfig">
+              <img
+                src="@/assets/image/title.png"
+                style="width: 30px; height: 30px; margin-right: 5px"
+              />
+              <span>晋掌柜控制台</span>
+            </div>
+          </el-dropdown-item>
+        </el-dropdown-menu>
+      </el-dropdown>
     </div>
     <!-- 导航菜单 -->
     <el-menu
       ref="navmenu"
       :default-active="menuIndex"
-      :class="collapse?'menu-bar-collapse-width':'menu-bar-width'"
+      :class="collapse ? 'menu-bar-collapse-width' : 'menu-bar-width'"
       :collapse="collapse"
       :collapse-transition="false"
       :unique-opened="true"
@@ -29,24 +56,31 @@
       active-text-color="#fff"
     >
       <!-- 导航菜单树组件,动态加载菜单 -->
-      <menu-tree v-for="item in leftTree" :key="item.id" :menu="item"></menu-tree>
+      <menu-tree
+        v-for="item in leftTree"
+        :key="item.id"
+        :menu="item"
+      ></menu-tree>
     </el-menu>
   </div>
 </template>
 <script>
 import { mapState } from "vuex";
 import MenuTree from "@/components/MenuTree";
+import CryptoJS from "crypto-js";
+import Cookies from "js-cookie";
+
 export default {
   components: {
-    MenuTree
+    MenuTree,
   },
   computed: {
     ...mapState({
-      appName: state => state.app.appName,
-      themeColor: state => state.app.themeColor,
-      collapse: state => state.app.collapse,
-      navTree: state => state.menu.navTree,
-      leftTree: state => state.menu.leftTree
+      appName: (state) => state.app.appName,
+      themeColor: (state) => state.app.themeColor,
+      collapse: (state) => state.app.collapse,
+      navTree: (state) => state.menu.navTree,
+      leftTree: (state) => state.menu.leftTree,
     }),
     mainTabs: {
       get() {
@@ -54,7 +88,7 @@ export default {
       },
       set(val) {
         this.$store.commit("updateMainTabs", val);
-      }
+      },
     },
     mainTabsActiveName: {
       get() {
@@ -62,34 +96,64 @@ export default {
       },
       set(val) {
         this.$store.commit("updateMainTabsActiveName", val);
-      }
-    }
+      },
+    },
   },
   watch: {
-    $route: "handleRoute"
+    $route: "handleRoute",
+  },
+  data() {
+    return {
+      menuIndex:
+        this.$route.meta.index !== 0
+          ? this.$route.meta.index
+          : this.leftTree[0].id,
+      showConfig: false,
+    };
   },
-data(){
-  return{
-    menuIndex: this.$route.meta.index!==0?this.$route.meta.index:this.leftTree[0].id
-  }
-},
   created() {
     this.handleRoute(this.$route);
-
+    this.getConfig();
   },
   methods: {
+    toConfig() {
+      // let token=
+      // console.log(Cookies.get("token"));
+      let token = CryptoJS.AES.encrypt(
+        Cookies.get("token"),
+        "token"
+      ).toString();
+
+      window.location.href =
+        process.env.CONSOLE_BASE_URL + "/#/index?token=" + token;
+    },
+    getConfig() {
+      // console.log();
+      let userId = JSON.parse(localStorage.getItem("user_data")).id;
+      // console.log(userId);
+      this.$api.menu
+        .getConfig({
+          userId: userId,
+        })
+        .then((res) => {
+          // console.log(res);
+          if (res.code === 200) {
+            this.showConfig = res.data;
+          }
+        });
+    },
     handleopen() {},
     handleclose() {},
     handleselect(a, b) {},
     // 路由操作处理
     handleRoute(route) {
       // tab标签页选中, 如果不存在则先添加
-      var tab = this.mainTabs.filter(item => item.name === route.name)[0];
+      var tab = this.mainTabs.filter((item) => item.name === route.name)[0];
       if (!tab) {
         tab = {
           name: route.name,
           title: route.name,
-          icon: route.meta.icon
+          icon: route.meta.icon,
         };
         this.mainTabs = this.mainTabs.concat(tab);
       }
@@ -99,8 +163,8 @@ data(){
         this.$refs.navmenu.activeIndex = "" + route.meta.index;
         this.$refs.navmenu.initOpenedMenu();
       }
-    }
-  }
+    },
+  },
 };
 </script>
 
@@ -122,8 +186,12 @@ data(){
     position: absolute;
     top: 0px;
     height: 60px;
-    line-height: 60px;
+    // line-height: 60px;
+    display: flex;
+    align-items: center;
     background: #545c64;
+    padding: 10px;
+    box-sizing: border-box;
     cursor: pointer;
     img {
       // width: 40px;
@@ -144,34 +212,35 @@ data(){
   }
   .menu-bar-collapse-width {
     width: 65px;
-    
-
   }
   /* 滚动条的整体部分,可自定义宽度、颜色等 */
   .menu-bar-width::-webkit-scrollbar {
-  width: 10px; /* 或者更宽 */
-  background-color: #f9f9fd; /* 滚动条的背景色 */
-}
-/* 滚动条上的“滑块” */
-.menu-bar-width::-webkit-scrollbar-thumb {
-  border-radius: 6px; /* 圆角 */
-  background-color: #d1d1e0; /* 滑块的背景色 */
-  border: 3px solid #f9f9fd; /* 滑块边框 */
-}
-/* 滚动条上的“滑道” */
-.menu-bar-width::-webkit-scrollbar-track {
-  border-radius: 6px; /* 圆角 */
-  box-shadow: inset 0 0 6px rgba(0,0,0,0.3); /* 滑道的阴影效果 */
-}
-/* 当鼠标悬停在滚动条上时,改变滑块的颜色 */
-.menu-bar-width::-webkit-scrollbar-thumb:hover {
-  background-color: #a0a0a5;
-}
+    width: 10px; /* 或者更宽 */
+    background-color: #f9f9fd; /* 滚动条的背景色 */
+  }
+  /* 滚动条上的“滑块” */
+  .menu-bar-width::-webkit-scrollbar-thumb {
+    border-radius: 6px; /* 圆角 */
+    background-color: #d1d1e0; /* 滑块的背景色 */
+    border: 3px solid #f9f9fd; /* 滑块边框 */
+  }
+  /* 滚动条上的“滑道” */
+  .menu-bar-width::-webkit-scrollbar-track {
+    border-radius: 6px; /* 圆角 */
+    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); /* 滑道的阴影效果 */
+  }
+  /* 当鼠标悬停在滚动条上时,改变滑块的颜色 */
+  .menu-bar-width::-webkit-scrollbar-thumb:hover {
+    background-color: #a0a0a5;
+  }
 
-/* 当滚动条在点击状态时,改变滑块的颜色 */
-.menu-bar-width::-webkit-scrollbar-thumb:active {
-  background-color: #888;
-}
+  /* 当滚动条在点击状态时,改变滑块的颜色 */
+  .menu-bar-width::-webkit-scrollbar-thumb:active {
+    background-color: #888;
+  }
+  .title img {
+    width: 30px;
+    height: 30px;
+  }
 }
-
 </style>

+ 398 - 0
src/views/OrderMsg/AttrConfig.vue

@@ -0,0 +1,398 @@
+<!-- 模板区域 -->
+<template>
+  <div>
+    <div class="p-1">
+      <el-button type="primary" :size="overSize" @click="addAttr">新增</el-button>
+    </div>
+    <div class="p-1">
+      <el-button type="primary" :size="overSize" @click="getPdfMsg">获取保单配置信息</el-button>
+    </div>
+
+    <!-- 模板内容 -->
+    <kt-common-table :tableHeights="400" :SerialShow="false" :operationWidth="150" :showOperation="true"
+      :showBatchDelete="false" :showBatchSettled="false" :showBatchPrint="false" :data="attrResult" button2Name="编辑"
+      button2Type="text" @handleButton2="attrUpdate" button3Name="删除" button3Type="text" @handleButton3="attrDel"
+      :columns="attrColumns" @findPage="getList">
+    </kt-common-table>
+    <el-dialog v-dialogDrag :title="attrDialogTitle" :visible.sync="attrVisible" width="80%" top="6vh" @close="attrcloseDialog">
+        <div class="tab-panecent">
+          <el-form ref="form" :model="pdfForm" label-width="140px" :size="overSize" :rules="attrRules">
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="保险公司" prop="companyName">
+                  <el-input type="text" v-model="pdfForm.companyName"  readonly></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="读取pdf字段" prop="ruleName">
+                  <el-input type="text" v-model="pdfForm.readName" placeholder="输入读取pdf字段"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="字段截取前缀" prop="readBegin">
+                  <el-input type="text" v-model="pdfForm.readBegin" placeholder="输入字段截取前缀"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="字段截取后缀" prop="readEnd">
+                  <el-input type="text" v-model="pdfForm.readEnd" placeholder="输入字段截取后缀"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="时间类型" prop="readType">
+                  <el-select v-model="pdfForm.readType"  placeholder="" filterable  clearable>
+                    <el-option v-for="item in dateTypeData" :key="item.value" :label="item.label" :value="item.value">
+                    </el-option>
+                 </el-select>
+               </el-form-item> 
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="保单字段设置" prop="orderMsg">
+                  <el-input type="text" v-model="pdfForm.orderMsg" placeholder="输入保单字段设置"></el-input>
+                </el-form-item>  
+              </el-col>
+            </el-row>
+          </el-form>
+        </div> 
+      <span slot="footer" class="dialog-footer">
+        <el-button :size="overSize" style="background: #EAEDF1;color: #2D4D89;" @click="attrVisible = false">取
+          消</el-button>
+        <el-button :size="overSize" style="background: #2D4D89;color: #fff;border-color: #2D4D89;" type="primary"
+          @click="productCostAddSubmit()">确 定</el-button>
+      </span>
+    </el-dialog>
+
+    <el-dialog v-dialogDrag title="读取pdf内容" :visible.sync="pdfVisible" width="80%" top="6vh" @close="pdfcloseDialog">
+        <div class="tab-panecent">
+          <el-form ref="readform" :model="readform" label-width="140px" :size="overSize" :rules="readPdfRules">
+            <el-row>
+              <el-col :span="24">
+                <el-form-item label="PDF路径" prop="url">
+                  <el-input type="text" v-model="readform.url"  placeholder="输入PDF路径"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <row>
+              <el-col :span="24">
+                  <el-form-item label="pdf内容">
+                    <el-input type="textarea" v-model="readPdfContent.pdfContent" 
+                      maxlength="600" ></el-input>
+                  </el-form-item>
+              </el-col>
+            </row>
+            <row>
+              <el-col :span="24">
+                  <el-form-item label="pdf解析内容">
+                    <el-input type="textarea" v-model="readPdfContent.readContent" 
+                      maxlength="100" ></el-input>
+                  </el-form-item>
+              </el-col>
+            </row>
+          </el-form>
+        </div>
+        
+        <span slot="footer" class="dialog-footer">
+          <el-button :size="overSize" style="background: #EAEDF1;color: #2D4D89;" @click="pdfVisible = false">关闭
+          </el-button>
+          <el-button :size="overSize" style="background: #2D4D89;color: #fff;border-color: #2D4D89;" type="primary"
+          @click="readSubmit()">确定</el-button>
+       </span>
+    </el-dialog>
+  </div>
+</template>
+<!-- 行为区域 -->
+<script>
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import ProductCostForm from '@/components/Form/ProductCostForm.vue';//表单组件
+export default {
+  // 数据存放区域
+  components: {
+    KtCommonTable,
+    ProductCostForm
+  },
+  data() {
+    return {
+      readPdfContent: {
+        pdfContent: "",
+        readContent: "",
+      },
+      dateTypeData:[],//时间类型
+      overSize: "small",
+      attrVisible: false,
+      pdfVisible: false,
+      attrDialogType: 'add',
+      attrDialogTitle: "添加",
+      attrColumns: [
+        { prop: "id", label: "编号", minWidth: 50, },
+        { prop: "companyId", label: "保险公司编码", minWidth: 160, },
+        { prop: "companyName", label: "保险公司编码", minWidth: 160, },
+        { prop: "readName", label: "读取pdf字段", minWidth: 100, },
+        { prop: "readBegin", label: "字段截取前缀", minWidth: 160 },
+        { prop: "readEnd", label: "字段截取后缀", minWidth: 160 },
+        { prop: "readType", label: "截取时间类型", minWidth: 160, formatter: this.dateTypeFormatter},
+        { prop: "orderMsg", label: "保单字段配置", minWidth: 160 },
+      ],
+      attrResult: [],
+      pageRequest: {
+        pageNum: 1,
+        pageSize: 20,
+        companyId:""
+      },
+      readform: {
+        companyId: "",
+        url: ""
+      },
+      readPdfRules: {
+        url: [
+          { required: true, message: "请填写pdf路径", trigger: "blur" },
+        ],
+      },
+      pdfForm: {
+        companyId: "",//保险公司id
+        companyName: "",//保险公司id
+        readName: "",//读取pdf字段
+        readBegin: "",//字段截取前缀
+        readEnd: "",//字段截取后缀
+        readType: "",//时间类型 1.yyyy-mm-dd 2.年月日 3. yyyy/mm/dd
+        orderMsg: "",//保单字段信息
+        id: null,
+      },
+      attrRules: {
+        companyName: [
+          { required: true, message: "请选择保险公司", trigger: "blur" },
+        ],
+        readName: [
+          { required: true, message: "请输入读取pdf字段", trigger: "blur" },
+        ],
+        readBegin: [
+          { required: true, message: "请输入字段截取前缀", trigger: "blur" },
+        ],
+        readEnd: [
+          { required: true, message: "请输入字段截取后缀", trigger: "blur" },
+        ],
+        readType: [
+          { required: true, message: "请输入时间类型", trigger: "change" },
+        ],
+        readName: [
+          { required: true, message: "请输入保单字段设置", trigger: "blur" },
+        ],
+      },
+    }
+  },
+  // 生命周期函数
+  created() {
+    this.pdfForm.companyId = this.$route.query.companyId;
+    this.pdfForm.companyName = this.$route.query.companyName;
+    this.pageRequest.companyId = this.$route.query.companyId;
+    this.readform.companyId = this.$route.query.companyId;
+    this.getList();
+    this.business("dateType");//时间类型
+  },
+  // 方法函数
+  methods: {
+     //获取保单信息
+     getPdfMsg() {
+      this.readform.url="";
+      this.readPdfContent.pdfContent="";
+      this.readPdfContent.readContent="";
+      this.pdfVisible = true;
+    },
+    //获取时间类型字典
+    business(typeName) {
+      this.$api.dict.findByLableName(typeName).then((res) => {
+        if (res.code == 200) {
+          this[typeName + "Data"] = res.data;
+        }
+      });
+    },
+    //格式化时间
+    dateTypeFormatter(row, column) {
+      let dateType = row.readType;
+      switch (dateType) {
+        case '1':
+          return <el-tag>YYYY-MM-DD</el-tag>
+        case '2':
+          return <el-tag type="success">YYYY/MM/DD</el-tag>
+        case '3':
+          return <el-tag type="warning">YYYY年MM月DD日</el-tag>
+        default:
+      }
+    },
+    //获取保单设置列表
+    getList() {
+      this.$api.readPdf.queryPage(this.pageRequest).then(res => {
+        if (res.code == '200') {
+          let pageList = {
+              content: res.data.content,
+              pageNum: res.data.current,
+              pageSize: res.data.size,
+              totalPages: res.data.totalPages,
+              totalSize: res.data.totalSize,
+            };
+            this.attrResult = pageList;
+        }
+      })
+    },
+    //添加
+    addAttr() {
+      //清空数据
+      this.pdfForm.readName = "";
+      this.pdfForm.readBegin = "";
+      this.pdfForm.readEnd = "";
+      this.pdfForm.readType = "";
+      this.pdfForm.orderMsg = "";
+      this.attrDialogType = 'add';
+      this.attrDialogTitle = '添加'
+      this.attrVisible = true;
+    },
+    //修改
+    attrUpdate({ row, column }){
+      this.attrDialogType = 'update';
+      this.attrDialogTitle = '修改'
+      this.$api.readPdf.findById(row.id).then((res) => {
+        this.pdfForm = {
+          companyId: res.data.companyId,
+          companyName: res.data.companyName,
+          readName: res.data.readName,
+          readBegin: res.data.readBegin,
+          readEnd: res.data.readEnd,
+          readType: res.data.readType,
+          orderMsg: res.data.orderMsg,
+          id: row.id,
+        } 
+      });
+      this.attrVisible = true;
+    },
+    //删除
+    attrDel({ row, column }){
+      this.$confirm("此操作将永久删除该数据, 是否继续?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$api.readPdf.deleteById(row.id).then((res) => {
+            if (res.code == "200") {
+              this.$message({
+                message: res.msg,
+                type: "success",
+              });
+              this.getList();
+            } else {
+              this.$message.error(res.msg);
+            }
+          });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消删除",
+          });
+        });
+    },
+    //关闭
+    attrcloseDialog(){
+      this.attrVisible = false;
+    },
+    //关闭pdf
+    pdfcloseDialog(){
+      this.attrVisible = false;
+    },
+    //保存
+    productCostAddSubmit() {
+      this.$refs['form'].validate((valid) => {
+        if (valid) {
+          this.$api.readPdf.addOrUpdate(this.pdfForm).then((res) => {
+            if (res.code == '200') {
+              this.$message({
+                type: 'success',
+                message: res.msg,
+              });
+              this.getList();
+              this.attrVisible = false;
+            } else {
+              this.$message({
+                type: 'error',
+                message: res.msg,
+              });
+            }
+          });
+        } 
+      });
+    },
+    //读取保单pdf内容
+    readSubmit() {
+      this.$refs['readform'].validate((valid) => {
+        if (valid) {
+          this.$api.readPdf.readPdfContent(this.readform).then((res) => {
+            if (res.code == '200') {
+              this.$message({
+                type: 'success',
+                message: "读取成功",
+              });
+              this.readPdfContent=res.data;
+            } else {
+              this.$message({
+                type: 'error',
+                message: "读取失败",
+              });
+            }
+          });
+        } 
+      });
+    },   
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped>
+/deep/ {
+  .el-dialog__header {
+    font-weight: bold;
+    border-bottom: 1px solid #D7DBE7;
+  }
+
+  .el-dialog__body {
+    padding: 0;
+  }
+
+  .el-tabs__item.is-active {
+    color: #fff;
+    background: #2D4D89;
+  }
+
+  .el-tabs--card>.el-tabs__header .el-tabs__nav,
+  .el-tabs--card>.el-tabs__header,
+  .el-tabs--card>.el-tabs__header .el-tabs__item {
+    border: none;
+    margin: 0;
+  }
+
+  .el-tabs--card>.el-tabs__header .el-tabs__nav {
+    padding-left: 20px;
+  }
+
+  .el-dialog__footer {
+    padding: 10px 20px 10px 10px;
+  }
+}
+
+.tab-panecent {
+  background: #fff;
+  border-radius: 4px;
+  padding: 15px;
+  box-sizing: border-box;
+  max-height: 600px;
+  overflow-y: auto;
+}
+
+.tab-panestyle {
+  padding: 20px;
+  background: #F2F2F2;
+}
+</style>
+

+ 125 - 0
src/views/OrderMsg/ReadPdf.vue

@@ -0,0 +1,125 @@
+<!-- 模板区域 -->
+<template>
+    <div>
+      <kt-common-table :tableHeights="700" :SerialShow="false" :operationWidth="300" :showOperation="true"
+        :showBatchDelete="false" :showBatchSettled="false" :showBatchPrint="false" :data="solutionResult" button2Name="保单pdf读取设置"
+        button2Type="text" @handleButton2="attrConfig"  :columns="solutionColumns" @findPage="companyFindPage">
+      </kt-common-table>
+    </div>
+  </template>
+  <!-- 行为区域 -->
+  <script>
+  import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+  export default {
+    // 数据存放区域
+    components: {
+      KtCommonTable,
+    },
+    data() {
+      return {
+        overSize: "small",
+        solutionColumns: [
+          { prop: "logo", label: "公司logo", minWidth: 160, formatter: this.logoFormatter },
+          { prop: "name", label: "公司名称", minWidth: 180, },
+          { prop: "id", label: "公司编码", minWidth: 160 },
+        ],
+        solutionResult: [],
+        //操作符字典
+        pageRequest: {
+          pageNum: 1,
+          pageSize: 20,
+        },
+      }
+    },
+    // 生命周期函数
+    created() {
+      this.companyFindPage();
+    },
+    // 方法函数
+    methods: {
+      companyFindPage(data) {
+        if (data && data.pageRequest) {
+          this.pageRequest.pageNum = data.pageRequest.pageNum;
+          this.pageRequest.pageSize = data.pageRequest.pageSize;
+        } else {
+          this.pageRequest.pageNum = 1;
+          this.pageRequest.pageSize = 20;
+        }
+        this.$api.readPdf.getAllCompanyList(this.pageRequest).then((res) => {
+          if (res.code == '200') {
+            let pageList = {
+              content: res.data.records,
+              pageNum: res.data.current,
+              pageSize: res.data.size,
+              totalPages: res.data.pages,
+              totalSize: res.data.total,
+            };
+            this.solutionResult = pageList;
+          } else {
+          }
+        });
+      },
+      //跳转
+      attrConfig({ row, column }) {
+        this.$router.push({
+          path: "AttrConfig",
+          query: { companyId: row.id,
+            companyName: row.name
+           },
+        });
+      },
+      logoFormatter(row) {
+        return <img src={row.logo} alt="logo" style={{ width: "50px", height: "50px" }} />;
+      },
+    }
+  }
+  </script>
+  <!-- 样式区域 -->
+  <style lang='scss' scoped>
+  /deep/ {
+    .el-dialog__header {
+      font-weight: bold;
+      border-bottom: 1px solid #D7DBE7;
+    }
+  
+    .el-dialog__body {
+      padding: 0;
+    }
+  
+    .el-tabs__item.is-active {
+      color: #fff;
+      background: #2D4D89;
+    }
+  
+    .el-tabs--card>.el-tabs__header .el-tabs__nav,
+    .el-tabs--card>.el-tabs__header,
+    .el-tabs--card>.el-tabs__header .el-tabs__item {
+      border: none;
+      margin: 0;
+    }
+  
+    .el-tabs--card>.el-tabs__header .el-tabs__nav {
+      padding-left: 20px;
+    }
+  
+    .el-dialog__footer {
+      padding: 10px 20px 10px 10px;
+    }
+  }
+  
+  .tab-panecent {
+    background: #fff;
+    border-radius: 4px;
+    padding: 15px;
+    box-sizing: border-box;
+    max-height: 600px;
+    overflow-y: auto;
+  }
+  
+  .tab-panestyle {
+    padding: 20px;
+    background: #F2F2F2;
+  }
+  </style>
+  
+  

+ 1648 - 0
src/views/PeopleManage/InsuranceCompany/InsuranceCompany.vue

@@ -0,0 +1,1648 @@
+<template>
+  <div>
+    <el-main ref="elMain" style="padding: 0px">
+      <Split :gutterSize="2" style="height: calc(100vh - 120px)">
+        <!-- 左侧树Start -->
+        <SplitArea :size="leftSplitWidth" :minSize="240">
+          <div>
+            <div>
+              <!-- <el-checkbox v-model="containsSubDeptChecked"
+                >包含下级机构</el-checkbox
+              > -->
+
+              <kt-button
+                style="background-color: #ffc000; border: #ffc000"
+                icon="fa fa-plus"
+                label="添加人员"
+                type="primary"
+                perms="sys:team:add"
+                @click="handleAddButton"
+              />
+            </div>
+            <el-divider></el-divider>
+            <!-- 左侧树形结构 -->
+            <el-tree
+              :data="leftTree"
+              :props="{ children: 'children', label: 'name' }"
+              node-key="id"
+              :default-expanded-keys="['9']"
+              @node-click="onZTreeClick"
+            ></el-tree>
+          </div>
+        </SplitArea>
+        <!-- 左侧树End -->
+
+        <!-- 右侧列表页面Start -->
+        <SplitArea :size="rightSplitWidth">
+          <!-- 筛选区域Start -->
+          <el-row class="queryFrom">
+            <el-form ref="queryFormRef" :model="pageData" label-width="80px">
+              <el-row>
+                <el-col :span="5">
+                  <el-form-item label="工号">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="工号"
+                      v-model="pageData.userId"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="姓名">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="姓名"
+                      v-model="pageData.name"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="手机号">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="手机号"
+                      v-model="pageData.mobile"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="状态">
+                    <el-select
+                      style="width: 200px"
+                      size="small"
+                      clearable
+                      v-model="pageData.status"
+                      placeholder="请选择"
+                    >
+                      <el-option
+                        v-for="val in user_statusoptions"
+                        :label="val.label"
+                        :value="val.value"
+                        :key="val.id"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="领导人">
+                    <el-select
+                      size="small"
+                      style="width: 215px"
+                      clearable
+                      filterable
+                      v-model="pageData.leaderId"
+                      placeholder="请选择"
+                    >
+                      <el-option
+                        v-for="item in searchLeaderOptions"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.name"
+                      >
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="">
+                    <el-button
+                      size="small"
+                      type="primary"
+                      @click="queryStaffInfo"
+                      >查询</el-button
+                    >
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form>
+          </el-row>
+
+          <kt-common-table
+            permsEdit="sys:team:edit"
+            :data="pageResult"
+            :operationWidth="250"
+            :columns="columns"
+            editButtonName="编辑"
+            :showBatchDelete="false"
+            @findPage="findPage"
+            @handleEdit="handleTableEdit"
+            :button7Name="'离司'"
+            :button7Status="'在职'"
+            @handleButton7="handleButton7"
+            :button9Name="'离司恢复'"
+            :button9Status="'离司'"
+            @handleButton9="handleRest"
+            :buttonDropdown="dropdownOption"
+          >
+          </kt-common-table>
+        </SplitArea>
+        <!-- 右侧列表页面End -->
+      </Split>
+    </el-main>
+
+    <!-- 新增修改界面 -->
+
+    <el-dialog
+      :title="dialogTitle"
+      width="60%"
+      top="5vh"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      :before-close="handleDialogBefore"
+      :show-close="false"
+      @close="closeDialog"
+      v-dialogDrag
+      class="people-style"
+    >
+      <el-tabs
+        v-model="activeName"
+        :before-leave="beforeTabLeave"
+        class="tab-style"
+      >
+        <el-tab-pane label="基本信息" name="1">
+          <el-form
+            :model="formData"
+            :rules="formDataRules"
+            ref="formData"
+            :inline="true"
+            @keyup.enter.native="nextStep()"
+            label-width="110px"
+            size="small"
+            label-position="top"
+            class="personnelInformation"
+          >
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="机构名称">
+                  <el-cascader
+                    style="width: 100%"
+                    :options="leftTree"
+                    v-model="formData.pdeptId"
+                    clearable
+                    disabled
+                    :show-all-levels="false"
+                    :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
+              <el-col :span="8">
+                <el-form-item label="机构部门" prop="deptId">
+                  <el-cascader
+                    style="width: 100%"
+                    :options="leftTree"
+                    v-model="formData.deptId"
+                    clearable
+                    disabled
+                    :show-all-levels="false"
+                    :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
+              <el-col :span="8">
+                <el-form-item label="岗位" prop="positionId">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.positionId"
+                    placeholder="请选择"
+                    popper-class="select-prop"
+                  >
+                    <el-option
+                      v-for="val in postOption"
+                      :label="val.postName"
+                      :value="val.postId"
+                      :key="val.postId"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="工号" prop="id">
+                  <el-input
+                    v-model="formData.id"
+                    disabled
+                    style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="姓名" prop="name">
+                  <el-input
+                    v-model="formData.name"
+                    placeholder="请输入本人姓名"
+                    style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="手机号" prop="mobile">
+                  <el-input
+                    v-model="formData.mobile"
+                    placeholder="请输入本人手机号"
+                    style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="入司时间">
+                  <el-date-picker
+                    style="width: 100%"
+                    v-model="formDataDetail.entryTime"
+                    type="date"
+                    value-format="yyyy-MM-dd"
+                    placeholder="选择日期"
+                    popper-class="select-prop"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="状态" prop="status">
+                  <el-select
+                    disabled
+                    style="width: 100%"
+                    @change="statusChange"
+                    v-model="formData.status"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in user_statusoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="角色" prop="roleId">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.roleId"
+                    placeholder="请选择"
+                    disabled
+                  >
+                    <el-option
+                      v-for="val in roles"
+                      :label="val.name"
+                      :value="val.id + ''"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="管理人" prop="leaderId">
+                  <el-select
+                    style="width: 100%"
+                    clearable
+                    filterable
+                    v-model="formData.leaderId"
+                    placeholder="请选择"
+                    popper-class="select-prop"
+                  >
+                    <el-option
+                      v-for="val in leaderOptions"
+                      :label="val.name"
+                      :value="val.id"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="管理人工号" prop="leaderName">
+                  <el-input
+                    v-model="formData.leaderId"
+                    disabled
+                    style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item
+                  label="代理人资格证号"
+                  prop="agentQualificationCode"
+                >
+                  <el-input
+                    style="width: 100%"
+                    v-model="formDataDetail.agentQualificationCode"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="border: 1px solid #d42426; color: #d42426"
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <el-button size="small" type="primary" @click="nextStep"
+              >下一步</el-button
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="详细信息" name="2">
+          <userDetail
+            :formData="formData"
+            :formDataDetail="formDataDetail"
+            ref="formDataDetails"
+            @statusChange="statusChange"
+            @valids="valids"
+            :showThirdParty="true"
+          ></userDetail>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="border: 1px solid #d42426; color: #d42426"
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <!-- <el-button size="small" type="primary" @click="activeName = '1'"
+              >上一步</el-button
+            > -->
+            <el-button size="small" type="primary" @click="activeName = '3'"
+              >下一步</el-button
+            >
+          </div>
+          <!-- <div style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="background-color: #EAEDF1; border: 1px solid #EAEDF1; color: #2D4D89;"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <el-button size="small" type="primary" @click="activeName = '1'"
+              >上一步</el-button
+            >
+            <el-button size="small" type="primary" @click="submitForm"
+              >提交</el-button
+            >
+          </div> -->
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form
+            :model="formDataDetail"
+            ref="formDataDetail"
+            :inline="true"
+            label-width="130px"
+            size="small"
+            class="peopleImage"
+          >
+            <peopleImage
+              :dataForm="dataForm"
+              :imagesIdList="imagesIdList"
+              :dialogVisible="dialogVisible"
+            ></peopleImage>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="border: 1px solid #d42426; color: #d42426"
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <!-- <el-button size="small" type="primary" @click="activeName = '2'"
+              >上一步</el-button
+            > -->
+            <el-button size="small" type="primary" @click="submitForm"
+              >提交</el-button
+            >
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+    </el-dialog>
+
+    <el-dialog
+      title="离司"
+      width="40%"
+      :visible.sync="showOut"
+      @close="closeDialogOut"
+      class="dialogOut people-style"
+    >
+      <div>
+        <el-form class="personnelInformation">
+          <el-form-item label="离职时间" prop="logoutTime">
+            <el-date-picker
+              value-format="yyyy-MM-dd"
+              style="width: 200px"
+              v-model="logoutTime"
+              type="date"
+              placeholder="选择日期"
+            ></el-date-picker>
+          </el-form-item>
+          <el-form-item label="离职表:" style="width: 50%">
+            <el-upload
+              class="avatar-uploader"
+              action=""
+              name="LZ_01"
+              :show-file-list="false"
+              :http-request="httpRequest"
+              :before-upload="beforeAvatarUpload"
+            >
+              <!-- <img v-if="logoutImg" :src="logoutImg" class="avatar" />
+              <i v-else class="el-icon-plus avatar-uploader-icon"></i> -->
+              <img v-if="logoutImg" :src="logoutImg" class="avatar" />
+              <div v-else class="upload-icon">
+                <img src="@/assets/image/people/camera.svg" alt="" />
+                <div class="el-upload__text">上传资料</div>
+              </div>
+              <span class="slot" v-show="logoutImg">
+                <i
+                  class="preview"
+                  @click.stop="handlePictureCardPreview(logoutImg)"
+                ></i>
+                <img
+                  class="close"
+                  src="@/assets/image/people/close.png"
+                  alt=""
+                  @click.stop="handlePictureCardDelete('LZ_01')"
+                />
+                <div class="bottomHandle">
+                  <img
+                    class="reset"
+                    src="@/assets/image/people/reset.png"
+                    alt=""
+                  />
+                  <span class="title">点击重新上传</span>
+                </div>
+              </span>
+            </el-upload>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div class="footerHandle" style="text-align: right">
+        <el-button type="primary" @click="handleSubOut">确定</el-button>
+        <el-button @click="closeDialogOut">取消</el-button>
+      </div>
+    </el-dialog>
+
+    <personnelHistory ref="personnelHistory"></personnelHistory>
+    <el-image-viewer
+      v-if="showViewer"
+      :on-close="closeViewer"
+      :z-index="9999"
+      :url-list="[ProViewImg]"
+    />
+  </div>
+</template>
+
+<script>
+import KtButton from "@/views/Core/KtButton"; // 按钮权限组件
+import tree from "@/components/ztree.vue"; // 机构树组件
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import peopleImage from "@/components/PeopleImage/index.vue"; //影像组件
+import { validateSfz } from "../../../utils/validate.js";
+import userDetail from "@/components/UserDetail/index.vue"; // 详情信息
+import personnelHistory from "@/components/PersonnelHistory/index.vue"; //人员修改历史
+import mixa from "../mixin";
+const mixin = new mixa({
+  treeTypeNum: 1, //树分类过滤参数
+});
+export default {
+  components: {
+    KtButton,
+    tree,
+    KtCommonTable,
+    userDetail,
+    peopleImage,
+    personnelHistory,
+    "el-image-viewer": () =>
+      import("element-ui/packages/image/src/image-viewer"),
+  },
+  mixins: [mixin],
+  data() {
+    return {
+      deptId: "99",
+      logoutTime: "", // 离司 离职时间
+      logoutImg: "", // 离司 图片
+      logoutImgId: "",
+      lineId: "",
+      leaderOptions: [],
+      searchLeaderOptions: {},
+      activeName: "1",
+      isShow: true,
+      pageData: {
+        pageNum: 1,
+        pageSize: 20,
+        deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
+        userId: "",
+        realName: "",
+        mobile: "",
+      },
+      formData: {
+        roleId: "4",
+      },
+      formDataRules: {
+        deptId: [{ required: true, message: "请选择机构", trigger: "change" }],
+        mobile: [
+          { required: true, message: "请输入手机号", trigger: "blur" },
+          { min: 11, max: 11, message: "请输入11位手机号码", trigger: "blur" },
+          {
+            pattern:
+              /^1(3[0-9]|4[0-9]|5[0-9]|6[2-9]|7[0-9]|8[0-9]|9[0-9])\d{8}$/,
+            message: "请输入正确的手机号",
+            trigger: "blur",
+          },
+        ],
+        name: [{ required: true, message: "请填写名称", trigger: "blur" }],
+        // password: [{ required: true, message: "请填写密码", trigger: "blur" }],
+        status: [{ required: true, message: "请选择状态", trigger: "change" }],
+        // roleId: [{ required: true, message: "请填写角色", trigger: "blur" }],
+        // identity: [
+        //   { required: true, message: "请填写身份证号" },
+        //   { validator: validateSfz },
+        // ],
+      },
+      formDataDetail: {},
+      formDataRulesDetail: {},
+      filterObject: {},
+      peopleid: "",
+      peopledeptid: "",
+      recommenderList: [],
+      teamleadername: "",
+      teamleaderid: "",
+      // 右侧列表查询数据Start
+      queryFrom: {},
+      pageResult: {},
+      columns: [
+        // 数据列
+        { prop: "deptId", label: "部门编码", minWidth: 80, sortable: false },
+        {
+          prop: "pdeptName",
+          label: "机构名称",
+          minWidth: 120,
+          sortable: false,
+        },
+
+        { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
+
+        { prop: "userId", label: "工号", minWidth: 80, sortable: false },
+        { prop: "name", label: "姓名", minWidth: 120, sortable: false },
+        {
+          prop: "sex",
+          label: "性别",
+          minWidth: 80,
+          sortable: false,
+          isSex: true,
+        },
+        { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
+        {
+          prop: "roleId",
+          label: "角色",
+          minWidth: 80,
+          sortable: false,
+        },
+        {
+          prop: "managementSource",
+          label: "来源",
+          minWidth: 80,
+          formatter: this.managementSourceFormatter,
+        },
+        {
+          prop: "submitTime",
+          label: "提交时间",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "approveTime",
+          label: "审核时间",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "approveBy",
+          label: "审核人",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "status",
+          label: "状态",
+          minWidth: 120,
+          sortable: false,
+          isStatus: true,
+        },
+      ],
+      dialogTitle: "",
+      dialogVisible: false, // 新增编辑界面是否显示
+      departmentList: [], // 选中公司的所有部门的集合
+      deptInfo: {}, //选中机构的基本信息
+      option: [], //机构列表
+      dialogPassword: false, //密码是否明文
+      showOut: false,
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      },
+      //影像上传列表
+      imagesIdList: [],
+      pdeptId: null,
+      dropdownOption: [
+        {
+          label: "人员轨迹",
+          click: (row) => this.checkHistory(row),
+        },
+      ],
+      showViewer: false,
+      ProViewImg: null,
+      leftTree: [],
+    };
+  },
+  created() {
+    this.$api.role.findAll().then((res) => {
+      this.roles = res.data;
+    });
+    this.searchLeaderFun();
+    this.getDictItems("user_status");
+  },
+  methods: {
+    // 离司恢复
+    handleRest(data) {
+      this.$confirm("是否恢复", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$api.user
+            .separationReinstatement(data.row.userId)
+            .then((res) => {
+              if (res.code == 200) {
+                this.$message({
+                  type: "success",
+                  message: res.msg,
+                });
+                this.findPage();
+              }
+            });
+        })
+        .catch(() => {
+          this.$message({
+            type: "info",
+            message: "已取消",
+          });
+        });
+    },
+    //上传影像
+    httpRequest(options) {
+      let file = options.file;
+      let filename = options.filename;
+      let reader = new FileReader();
+      if (file) {
+        reader.readAsDataURL(file);
+      }
+      reader.onload = () => {
+        let base64Str = reader.result;
+        this.logoutImg = base64Str;
+      };
+      const params = new FormData(); // 声明formData数据类型
+      params.append("multipartFile", file);
+      params.append("type", "personnel");
+      this.$api.letter.uploadFile(params).then((res) => {
+        if (res.code == "200") {
+          this.logoutImgId = res.data.id;
+        }
+      });
+    },
+    // 上传图片的方法Start
+    beforeAvatarUpload(file) {
+      const isJPG = file.type === "image/jpeg" || file.type === "image/png";
+      const isLt2M = file.size / 1024 / 1024 < 2;
+      if (!isJPG) {
+        this.$message.error("上传图片只能是 JPG 或者 PNG 格式!");
+      }
+      if (!isLt2M) {
+        this.$message.error("上传图片大小不能超过 2MB!");
+      }
+      return isJPG && isLt2M;
+    },
+    handleSubOut() {
+      if (this.logoutTime == "") {
+        this.$message.error("请选择时间");
+        return;
+      }
+      if (this.logoutImgId == "") {
+        this.$message.error("请上传离职表");
+        return;
+      }
+      let subData = {
+        esmUserImageVo: [
+          {
+            imageId: this.logoutImgId,
+            type: "LZ_01",
+          },
+        ],
+        sysUser: { id: this.lineId, logoutTime: this.logoutTime },
+        sysUserInfo: {},
+      };
+      this.$api.user.departApply(subData).then((res) => {
+        if (res.code == 200) {
+          this.$message.success(res.msg);
+          this.findPage();
+          this.closeDialogOut();
+        } else {
+          this.$message.error(res.msg);
+        }
+      });
+    },
+    closeDialogOut() {
+      this.showOut = false;
+    },
+    handleButton7(data) {
+      this.lineId = data.row.userId;
+      this.showOut = true;
+    },
+    searchLeaderFun() {
+      this.$api.user.findHxUserList().then((res) => {
+        this.leaderOptions = res.data;
+      });
+      this.$api.user
+        .findBackListByDeptId({ deptId: this.deptId })
+        .then((res) => {
+          this.searchLeaderOptions = res.data;
+        });
+    },
+    managementSourceFormatter(row) {
+      
+      // const managementSource = row.managementSource == "2" ? "个代" : "渠道";
+      // return managementSource;
+      switch (row.managementSource) {
+        case '1':
+          return (this.managementSource = "渠道");
+          break;
+        case '2':
+          return (this.managementSource = "个代");
+          break;
+        case '3':
+          return (this.managementSource = "电销");
+          break;
+        case '4':
+          return (this.managementSource = "保司");
+          break;
+        default:
+          this.managementSource = "";
+      }
+    },
+    //状态改变时
+    statusChange(e) {
+      if (e == 0) {
+        this.$set(this.formDataRules, "logoutTime", [
+          { required: true, message: "请选择日期", trigger: "change" },
+        ]);
+      } else {
+        this.formDataRules.logoutTime = undefined;
+      }
+    },
+    // 查询Start
+    queryStaffInfo() {
+      this.pageData.pageNum = 1;
+      this.findPage();
+    },
+    sexFormatter(row) {
+      // return this.sexoptions[row.sex]
+      // return row.sex+'1'
+      // console.log(val,1)
+    },
+    onZTreeClick: function (evt, treeId, treeNode) {
+      // 点击事件
+      this.currentTreeNode = evt;
+      this.deptId = this.currentTreeNode.id;
+      this.pdeptId = this.currentTreeNode.parentId;
+      this.pageData.pageNum = 1;
+      this.findPage();
+      this.searchLeaderFun();
+      // this.formData.deptId = [];
+      // this.platform(treeId);
+    },
+    //联级选择器触发事件
+    handleChange(val) {
+      if (val && val.length !== 0) {
+        this.formData.leaderId = "";
+        this.formData.deptId = val.at(-1);
+        // console.log( this.formData.deptId,val,222222222);
+        this.$api.user
+          .findListByDeptId({ deptId: this.formData.deptId })
+          .then((res) => {
+            this.leaderOptions = res.data;
+          });
+      }
+    },
+    isShowFun() {
+      this.isShow = !this.isShow;
+    },
+    identityChange(iden) {
+      let sex = null;
+      let birth = null;
+      let myDate = new Date();
+      let month = myDate.getMonth() + 1;
+      let day = myDate.getDate();
+      sex = iden.substring(16, 17);
+      birth =
+        iden.substring(6, 10) +
+        "-" +
+        iden.substring(10, 12) +
+        "-" +
+        iden.substring(12, 14);
+      let age = 0;
+      if (
+        iden.substring(10, 12) < month ||
+        (iden.substring(10, 12) == month && iden.substring(12, 14) <= day)
+      )
+        age++;
+      if (sex % 2 === 0) sex = "女";
+      else sex = "男";
+      this.formDataDetail.birthday = birth;
+      this.formDataDetail.sex = this.sexoptions.find(
+        (val) => sex == val.label
+      ).value;
+    },
+    // 右侧列表的方法Start
+    findPage(data) {
+      // 获取分页数据
+      if (data && data.pageRequest) {
+        this.pageData.pageNum = data.pageRequest.pageNum;
+        this.pageData.pageSize = data.pageRequest.pageSize;
+      }
+      let dto = {
+        deptId: this.deptId,
+        mobile: this.pageData.mobile,
+        name: this.pageData.name,
+        userId: this.pageData.userId,
+        status: this.pageData.status,
+        leaderName: this.pageData.leaderId,
+        roleId: "4",
+        agentFlag: "4",
+      };
+      this.$api.user
+        .findUserList({
+          dto,
+          pageNum: this.pageData.pageNum,
+          pageSize: this.pageData.pageSize,
+        })
+        .then((res) => {
+          
+          res.data.records.forEach((val) => {
+            if (val.sex && val.sex !== "" && val.sex !== null) {
+              val.sex = this.sexoptions.find(
+                (ele) => ele.value == val.sex
+              ).label;
+            }
+            if (val.status && val.status !== "" && val.status !== null) {
+              val.status = this.user_statusoptions.find(
+                (ele) => ele.value == val.status
+              ).label;
+            }
+            val.roleId = val.roleName;
+          });
+          this.pageResult = {
+            content: res.data.records,
+            pageNum: res.data.current,
+            pageSize: res.data.size,
+            totalPages: res.data.pages,
+            totalSize: res.data.total,
+          };
+          this.pageData.pageNum = res.data.current;
+          this.pageData.pageSize = res.data.size;
+          this.pageData.totalSize = res.data.total;
+        });
+    },
+    beforeTabLeave() {
+      // let p = new Promise((resolve, reject) => {
+      //   this.$refs.formData.validate(async (valid) => {
+      //     valid ? resolve() : reject();
+      //     if (valid !== resolve()) {
+      //       // this.$message.error("请完善基本信息!");
+      //     }
+      //   });
+      // });
+      // return p;
+    },
+    // 下一步
+    nextStep() {
+      this.$refs.formData.validate((valid) => {
+        if (valid) {
+          this.activeName = "2";
+          // this.formData.deptIdCom= this.formData.deptId
+          // this.formData.deptId =  this.formData.deptId.at(-1);
+          // if (this.formData.referrerId) {
+          //   this.formData.referrerName = this.recommenderOptions.find(val => this.formData.referrerId == val.id).name
+          // }
+          // this.$api.user.saveOrUpdate(this.formData).then((res) => {
+          //   if (res.code == 200) {
+          //   this.activeName='2'
+          //   this.basicInformation=res.data
+          //   } else {
+          //     this.$message({
+          //       message: `操作失败,请重新添加,(${res.msg})`,
+          //       type: "error",
+          //     });
+          //   }
+          // });
+        }
+      });
+    },
+    async handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      };
+      this.imagesIdList = [];
+
+      this.activeName = "1";
+      let res = await this.$api.user.getUserDatail(params.row.userId);
+      if (res.code == 200) {
+        // this.$api.user
+        //   // .findListByDeptId({ deptId: res.data.sysUser.deptId, id: params.row.userId })
+        //   .findBackUserList1({ agentFlag: 0 })
+        //   .then((res) => {
+        //     this.leaderOptions = res.data;
+        //   });
+        res.data.sysUser.status += "";
+        this.formData = res.data.sysUser;
+
+        if (this.formData.status == 0) {
+          this.$set(this.formDataRules, "logoutTime", [
+            { required: true, message: "请选择日期", trigger: "change" },
+          ]);
+        } else {
+          this.formDataRules.logoutTime = undefined;
+        }
+        if (res.data.esmUserImageVo.length > 0) {
+          this.imagesIdList = res.data.esmUserImageVo.map((item) => {
+            item.path = process.env.BASE_URL + item.path;
+            this.dataForm[item.type] = item.path;
+            return {
+              imageId: item.imageId,
+              type: item.type,
+            };
+          });
+        }
+        this.formDataDetail = res.data.sysUserInfo ? res.data.sysUserInfo : {};
+        this.dialogTitle = "编辑保司人员";
+        this.dialogVisible = true;
+        this.dialogPassword = false;
+        this.formData.referrerId = "";
+        this.formData.referrerName = "";
+      } else {
+        this.$message.error(res.msg);
+      }
+    },
+    // 删除单个人员
+    handleTableDeleteFlag(data) {
+      this.$confirm("确认删除?")
+        .then(() => {
+          this.$api.user.getDeleteBatch([data.row.userId]).then((res) => {
+            if (res.code == 200) {
+              this.$message({
+                message: "删除成功",
+                type: "success",
+              });
+              this.findPage();
+            }
+          });
+        })
+        .catch(() => {});
+    },
+    //添加人员
+    handleAddButton() {
+      if (this.currentTreeNode == null) {
+        this.$message.info("请选择所属公司或部门");
+        return;
+      }
+      if (
+        this.currentTreeNode.comlevel != null ||
+        this.currentTreeNode.managementSource != 4
+      ) {
+        //保司managementSource为4  渠道为1  后线为空
+        this.$message.info("请选择第六级机构");
+        return;
+      }
+
+      // let deptId=''
+      // if(this.formData.deptId){
+      //    deptId = this.formData.deptId.at(-1);
+      // }
+      this.formData = {
+        roleId: "4",
+        status: "2",
+        deptId: this.deptId,
+        pdeptId: this.pdeptId,
+      };
+
+      this.formDataDetail = {};
+      this.activeName = "1";
+      this.dialogTitle = "新增保司人员";
+      this.dialogVisible = true;
+      this.dialogPassword = true;
+      // this.$api.user.findListByDeptId({ deptId: this.deptId }).then((res) => {
+      //   this.leaderOptions = res.data.map((val) => {
+      //     return {
+      //       userId: val.id,
+      //       name: val.name,
+      //     };
+      //   });
+      // });
+    },
+    // 新增或修改的弹出框Start
+    getDictItems(typeName) {
+      //--数据字典--
+      this.$api.dict
+        .findByLableName(typeName)
+        .then((response) => {
+          this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
+        })
+        .catch((error) => {
+          this[typeName + "options"] = [];
+        });
+    },
+    handleDialogBefore(done) {
+      // 退出对话框之前确认提示
+      var that = this;
+      this.$confirm("确认关闭?")
+        .then((_) => {
+          done();
+        })
+        .catch((_) => {});
+    },
+    closeDialog() {
+      // 清空数据
+      this.deptInfo = {};
+      // this.$refs["formData"].resetFields();
+      // for (let key in this.formData) {
+      //   this.formData[key] = "";
+      // }
+      // this.formData={
+      //   roleId:'21',
+      //   id:'',
+      //   mobile:'',
+      //   email:'',
+      //   name:'',
+      //   password:'',
+      //   sex:'',
+      //   status:''
+      // }
+      this.dialogVisible = false;
+    },
+    valids(data) {
+      this.detailValid = data;
+    },
+    // 提交
+    submitForm() {
+      this.$refs.formDataDetails.submit();
+      setTimeout(() => {
+        this.$refs.formData.validate((valid) => {
+          if (valid && this.detailValid) {
+            this.$confirm("确认提交吗?", "提示", {}).then(() => {
+              // if(!this.basicInformation.id && this.dialogTitle =="新增代理人"){
+              //   this.$message({
+              //     message: '请先填写基本信息!!!',
+              //     type: 'warning'
+              //   });
+              //   return false
+              // }
+              if (this.formData.positionId) {
+                this.formData.positionName = this.postOption.find(
+                  (val) => val.postId == this.formData.positionId
+                ).postName;
+              }
+              if (this.formData.leaderId) {
+                this.formData.leaderName = this.leaderOptions.find(
+                  (val) => val.id == this.formData.leaderId
+                ).name;
+              }
+              if (this.dialogTitle == "新增保司人员") {
+                this.$api.user
+                  .saveUserInfo({
+                    esmUserImageVo: this.imagesIdList,
+                    sysUser: this.formData,
+                    sysUserInfo: this.formDataDetail,
+                  })
+                  .then((res) => {
+                    if (res.code == 200) {
+                      this.$message({
+                        message: "保存成功",
+                        type: "success",
+                      });
+                      this.dialogVisible = false;
+                      this.$refs["formData"].resetFields();
+                      this.$refs["formDataDetail"].resetFields();
+                      this.findPage();
+                    } else {
+                      this.$message({
+                        message: `保存失败,请重新添加,(${res.msg})`,
+                        type: "error",
+                      });
+                    }
+                  });
+              } else {
+                this.$api.user
+                  .updateUserInfo(this.formData.id, {
+                    esmUserImageVo: this.imagesIdList,
+                    sysUser: this.formData,
+                    sysUserInfo: this.formDataDetail,
+                  })
+                  .then((res) => {
+                    if (res.code == 200) {
+                      this.$message({
+                        message: "编辑成功",
+                        type: "success",
+                      });
+                      this.dialogVisible = false;
+                      this.$refs["formData"].resetFields();
+                      this.$refs["formDataDetail"].resetFields();
+                      this.findPage();
+                    } else {
+                      this.$message({
+                        message: `编辑失败,请重新添加,(${res.msg})`,
+                        type: "error",
+                      });
+                    }
+                  });
+              }
+            });
+          } else {
+            this.$message.error("请填写全部信息");
+          }
+        });
+      }, 200);
+    },
+    //查看人员修改记录
+    async checkHistory(row) {
+      let userId = row.userId;
+      this.$refs.personnelHistory.getHistory(userId);
+    },
+    handlePictureCardDelete() {
+      this.logoutImg = null;
+    },
+    //预览图片
+    handlePictureCardPreview(img) {
+      if (!img) {
+        this.$message.error("暂无照片");
+        return;
+      }
+      this.ProViewImg = img;
+      this.showViewer = true;
+    },
+    // 关闭查看器
+    closeViewer() {
+      this.showViewer = false;
+    },
+    getLeftTree() {
+      this.$api.dept.findTree().then((res) => {
+        // console.log(treeTypeNum);
+        this.treeDataRecursion(res.data, 4);
+        this.leftTree = res.data;
+      });
+    },
+    //树过滤五级机构递归
+    treeDataRecursion(data, num, one) {
+      data = data || this.leftTree;
+      one = one || 0;
+      one++;
+      for (let i = 0; i < data.length; i++) {
+        if (data[i].comlevel == 5 && data[i].managementSource != num) {
+          data.splice(i, 1);
+          i = i - 1;
+        } else {
+          this.treeDataRecursion(data[i].children, num, one);
+        }
+      }
+    },
+  },
+  mounted() {
+    this.getLeftTree();
+  },
+};
+</script>
+
+<style scoped>
+.el-divider--horizontal {
+  margin: 4px 0;
+}
+
+/* 顶部查询条件样式Start */
+.queryFrom .el-row {
+  margin: 10px 0px;
+}
+
+.queryFrom .el-form-item {
+  margin-bottom: 0px;
+}
+
+.queryFrom .queryButton .el-form-item__content {
+  margin-left: 0px !important;
+}
+.disc {
+  -webkit-text-security: disc;
+  position: relative;
+}
+.none {
+  -webkit-text-security: none;
+  position: relative;
+}
+.icon {
+  color: #ccc;
+  position: absolute;
+  right: 0;
+  top: 10px;
+  text-align: center;
+}
+
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 100px;
+  height: 100px;
+  line-height: 100px;
+  text-align: center;
+  border: 1px dashed #d9d9d9;
+}
+
+.avatar {
+  border: 1px dashed #d9d9d9;
+  padding: 5px;
+  border-radius: 6px;
+  width: 100px;
+  height: 100px;
+  display: block;
+}
+</style>
+
+<style lang="scss" scoped>
+>>> .el-tabs__item:hover {
+  // color: #2d4d89;
+}
+>>> .el-tabs__item.is-active {
+  color: #fff;
+  // background: #2d4d89;
+  transition: all ease 0.5s;
+}
+>>> .el-tabs__active-bar {
+  // background-color: #2d4d89;
+}
+>>> .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 20px !important;
+}
+>>> .el-tabs--top .el-tabs__item.is-top:last-child {
+  padding-right: 20px !important;
+}
+
+.el-tabs {
+  >>> .el-input__inner:focus,
+  >>> .el-select .el-input.is-focus .el-input__inner {
+    // border-color: #2d4d89;
+  }
+  .el-button--primary,
+  .el-button--primary:focus {
+    background-color: #d42426;
+    border-color: #d42426;
+  }
+}
+.select-prop {
+  .el-select-dropdown__item.selected,
+  .el-date-table td.available:hover {
+    color: #d42426;
+  }
+  .el-date-table td.current:not(.disabled) span {
+    background-color: #d42426;
+  }
+}
+</style>
+
+<style lang="scss" scoped>
+.people-style {
+  // max-height: 500px;
+  .footerHandle {
+    // border-radius: 6px;
+    border-top: 1px solid #f2f2f2;
+    margin-top: 0 !important;
+    .el-button {
+      width: 90px;
+      height: 36px;
+      font-size: 16px;
+      margin-left: 24px;
+      font-weight: 310;
+    }
+  }
+  .peopleImage {
+    padding: 0 !important;
+    margin: 0 0 0 6px !important;
+  }
+  .closeBtn {
+    background: #fff !important;
+  }
+  .el-col {
+    width: calc(33.3333% - 20px);
+    margin-right: 20px;
+  }
+  .personnelInformation {
+    padding: 0 !important;
+    margin: 0 0 0 20px !important;
+    max-height: 470px;
+    .el-form-item {
+      width: 100%;
+      margin-bottom: 20px;
+      margin-right: 0px;
+      >>> .el-form-item__label {
+        font-size: 14px;
+        line-height: 16px;
+        color: #262626;
+        padding-bottom: 10px;
+      }
+      >>> .el-input__inner {
+        padding-left: 10px !important;
+        font-size: 14px;
+        font-weight: 500;
+        color: #333;
+        font-family: PingFang SC, PingFang SC;
+        border: 1px solid #eee;
+        &::placeholder {
+          color: #999999;
+          font-weight: 300;
+        }
+      }
+      >>> .el-textarea__inner {
+        padding: 10px;
+        border: 1px solid #eeeeee;
+        font-weight: 500;
+        font-size: 14px;
+        color: #333;
+        font-family: PingFang SC, PingFang SC;
+        &::placeholder {
+          color: #999999;
+          font-weight: 300;
+        }
+      }
+      >>> .el-input.is-disabled {
+        .el-input__inner {
+          background: #fff;
+        }
+      }
+      >>> .el-form-item__error {
+        padding-top: 0;
+        margin-top: 8px;
+        font-size: 12px;
+        color: #d42426;
+        position: relative;
+      }
+    }
+  }
+  /deep/ .el-date-editor {
+    position: relative;
+    .el-input__prefix {
+      // color: #D42426;
+      // position: absolute;
+      // right: 5px;
+      // left: auto;
+      // display: none;
+      background-image: url("~@/assets/image/people/rili.svg"); /* 替换为你的新图标路径 */
+      background-size: cover; /* 覆盖整个元素 */
+      background-repeat: no-repeat; /* 不重复背景图片 */
+      height: 15px; /* 根据实际情况调整高度 */
+      width: 17px; /* 根据实际情况调整宽度 */
+      position: absolute;
+      right: 10px;
+      top: 9px;
+      left: auto;
+      .el-icon-date::before {
+        content: "";
+      }
+    }
+    .el-input__suffix {
+      position: absolute;
+      right: 25px;
+    }
+  }
+  /deep/ .el-dialog {
+    border-radius: 6px;
+    .el-dialog__header {
+      height: 50px;
+      line-height: 50px;
+      padding: 0;
+      text-align: center;
+      border-top-left-radius: 6px;
+      border-top-right-radius: 6px;
+      .el-dialog__title {
+        color: #333;
+        font-weight: 500;
+      }
+    }
+    .el-dialog__body {
+      background: #fff;
+      border-radius: 6px;
+    }
+  }
+  /deep/ .el-tabs {
+    .el-tabs__header {
+      padding: 20px 0;
+      margin-bottom: 0;
+      .el-tabs__nav {
+        background: #f7f7f7;
+        padding: 0 4px;
+        height: 44px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+      }
+      .el-tabs__item {
+        width: 120px;
+        height: 36px;
+        line-height: 36px;
+        text-align: center;
+        font-size: 16px;
+        background: #f7f7f7;
+        color: #333;
+        font-weight: 310;
+      }
+      .el-tabs__item.is-active {
+        background: #d42426;
+        color: #fff;
+        border-radius: 2px;
+      }
+      .el-tabs__active-bar {
+        display: none;
+      }
+      .el-tabs__nav {
+        left: 50%;
+        transform: translateX(-50%) !important;
+      }
+    }
+    .el-tabs__content {
+      border-radius: 6px;
+    }
+  }
+}
+.dialogOut {
+  .el-form {
+    padding-top: 10px !important;
+  }
+  .el-form-item {
+    display: flex;
+    align-items: center;
+    >>> .el-form-item__label {
+      padding-bottom: 0 !important;
+    }
+    >>> .el-date-editor {
+      .el-input__prefix {
+        top: 12px !important;
+      }
+    }
+  }
+  .footerHandle {
+    padding: 8px 20px;
+  }
+  .upload-icon {
+    width: 208px;
+    height: 130px;
+    background: #f9f9f9;
+    border: 1px solid #eee;
+    border-radius: 4px;
+    box-sizing: border-box;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+  }
+  .el-upload__text {
+    line-height: 20px;
+    margin-top: 7px;
+    color: #999;
+  }
+  .el-upload--picture-card:hover,
+  .el-upload:focus {
+    color: #333;
+  }
+  .upload-icon:hover {
+    /* border: 1px dashed #2D4D89; */
+    border-color: #d42426;
+    /* color: #D42426; */
+    transition: all ease 1s;
+  }
+  .avatar {
+    border: 1px solid #eee;
+    padding: 0px;
+    border-radius: 6px;
+    width: 207px;
+    height: 130px;
+    display: block;
+    object-fit: cover;
+    border-radius: 4px;
+  }
+  /* 上传图片样式End */
+  .slot {
+    position: absolute;
+    width: 208px;
+    height: 130px;
+    left: 2px;
+    top: 2px;
+    border-radius: 4px;
+    cursor: default;
+    text-align: center;
+    color: #fff;
+    opacity: 1;
+    font-size: 20px;
+    /* background-color: rgba(0, 0, 0, 0.5); */
+    transition: opacity 0.3s;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+  }
+
+  .close {
+    width: 12px;
+    height: 12px;
+    position: absolute;
+    top: -1px;
+    right: 0;
+    cursor: pointer;
+  }
+  .preview {
+    width: 208px;
+    height: calc(130px - 24px);
+  }
+  .bottomHandle {
+    width: 208px;
+    height: 24px;
+    line-height: 20px;
+    background: url("~@/assets/image/people/bottomFrame.png") no-repeat;
+    position: absolute;
+    bottom: 0;
+    left: -1px;
+    cursor: pointer;
+  }
+  .reset {
+    width: 10px;
+    height: 10px;
+  }
+  .bottomHandle > .title {
+    font-size: 12px;
+    color: #fff;
+    padding: 0;
+  }
+  .slot > i {
+    /* margin: 10px; */
+    /* color: #fff; */
+    /* font-size: 25px; */
+    /* font-weight: bold; */
+  }
+
+  .slot:hover {
+    opacity: 1;
+  }
+  .title {
+    font-size: 16px;
+    color: #333;
+    padding-bottom: 10px;
+  }
+}
+</style>

+ 1096 - 0
src/views/PeopleManage/InsuranceCompany/InsuranceCompanyExamine.vue

@@ -0,0 +1,1096 @@
+<template>
+  <div>
+    <el-main ref="elMain" style="padding: 0px">
+      <Split :gutterSize="2" style="height: calc(100vh - 120px)">
+        <!-- 左侧树Start -->
+        <SplitArea :size="leftSplitWidth" :minSize="240">
+          <div>
+            <!-- 左侧树形结构 -->
+            <el-tree
+              :data="leftTree"
+              :props="{ children: 'children', label: 'name' }"
+              node-key="id"
+              :default-expanded-keys="['9']"
+              @node-click="onZTreeClick"
+            ></el-tree>
+          </div>
+        </SplitArea>
+        <!-- 左侧树End -->
+
+        <!-- 右侧列表页面Start -->
+        <SplitArea :size="rightSplitWidth">
+          <!-- 筛选区域Start -->
+          <el-row class="queryFrom">
+            <el-form ref="queryFormRef" :model="queryFrom" label-width="80px">
+              <el-row>
+                <el-col :span="5">
+                  <el-form-item label="工号">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="工号"
+                      v-model="queryFrom.userId"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="姓名">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="姓名"
+                      v-model="queryFrom.name"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="手机号">
+                    <el-input
+                      clearable
+                      size="small"
+                      placeholder="手机号"
+                      v-model="queryFrom.mobile"
+                    ></el-input>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="状态">
+                    <el-select
+                      style="width: 200px"
+                      clearable
+                      v-model="queryFrom.status"
+                      placeholder="请选择"
+                      size="small"
+                    >
+                      <el-option
+                        v-for="val in user_statusoptions"
+                        :label="val.label"
+                        :value="val.value"
+                        :key="val.id"
+                      ></el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="5">
+                  <el-form-item label="领导人">
+                    <el-select
+                      size="small"
+                      style="width: 215px"
+                      clearable
+                      filterable
+                      v-model="queryFrom.leaderId"
+                      placeholder="请选择"
+                    >
+                      <el-option
+                        v-for="item in searchLeaderOptions"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.name"
+                      >
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
+                <el-col :span="4">
+                  <el-form-item label="">
+                    <el-button
+                      size="small"
+                      type="primary"
+                      @click="queryStaffInfo"
+                      >查询</el-button
+                    >
+                  </el-form-item>
+                </el-col>
+              </el-row>
+            </el-form>
+          </el-row>
+
+          <kt-common-table
+            permsButton1="sys:team:examine"
+            :data="pageResult"
+            :columns="columns"
+            :showBatchDelete="false"
+            @findPage="findPage"
+            @handleButton3="handleTableEdit1"
+            :button3Name="'详情'"
+            :button7Name="'审核'"
+            :button7Status="'离司待审核'"
+            @handleButton7="handleTableEdit"
+            :button8Name="'审核'"
+            :button8Status="'入司待审核'"
+            @handleButton8="handleTableEdit"
+            :button10Name="'审核'"
+            :button10Status="'修改待审核'"
+            @handleButton10="handleTableEdit"
+          >
+          </kt-common-table>
+        </SplitArea>
+        <!-- 右侧列表页面End -->
+      </Split>
+    </el-main>
+
+    <el-dialog
+      :title="dialogTitle"
+      width="60%"
+      top="5vh"
+      :visible.sync="dialogVisible"
+      :close-on-click-modal="false"
+      :before-close="handleDialogBefore"
+      :show-close="false"
+      @close="closeDialog"
+      v-dialogDrag
+      class="people-style"
+    >
+      <el-tabs v-model="activeName" class="tab-style">
+        <el-tab-pane label="基本信息" name="1">
+          <el-form
+            :model="formData"
+            disabled
+            ref="formData"
+            :inline="true"
+            @keyup.enter.native="nextStep()"
+            label-width="110px"
+            size="small"
+            label-position="top"
+            class="personnelInformation"
+          >
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="机构名称" prop="deptId">
+                  <el-cascader
+                    style="width: 100%"
+                    :options="leftTree"
+                    v-model="formData.pdeptId"
+                    clearable
+                    :show-all-levels="false"
+                    :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
+              <el-col :span="8">
+                <el-form-item label="机构部门" prop="deptId">
+                  <el-cascader
+                    style="width: 100%"
+                    :options="leftTree"
+                    v-model="formData.deptId"
+                    clearable
+                    :show-all-levels="false"
+                    :props="{
+                      value: 'id',
+                      label: 'name',
+                      checkStrictly: true,
+                    }"
+                    @change="handleChange"
+                  >
+                  </el-cascader> </el-form-item
+              ></el-col>
+              <el-col :span="8">
+                <el-form-item label="岗位" prop="positionId">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.positionId"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in postOption"
+                      :label="val.postName"
+                      :value="val.postId"
+                      :key="val.postId"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="工号" prop="id">
+                  <el-input v-model="formData.id" disabled
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="名称" prop="name">
+                  <el-input v-model="formData.name"
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="手机号" prop="mobile">
+                  <el-input v-model="formData.mobile"
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="入司时间">
+                  <el-date-picker
+                    style="width: 100%"
+                    v-model="formDataDetail.entryTime"
+                    type="date"
+                    placeholder="选择日期"
+                    popper-class="select-prop"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+                </el-col>
+              <el-col :span="8">
+                <el-form-item label="状态" prop="status">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.status"
+                    placeholder="请选择"
+                  >
+                    <el-option
+                      v-for="val in user_statusoptions"
+                      :label="val.label"
+                      :value="val.value"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="角色" prop="roleId">
+                  <el-select
+                    style="width: 100%"
+                    v-model="formData.roleId"
+                    placeholder="请选择"
+                    disabled
+                  >
+                    <el-option
+                      v-for="val in roles"
+                      :label="val.name"
+                      :value="val.id + ''"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="8">
+                <el-form-item label="管理人" prop="leaderId">
+                  <el-select
+                    style="width: 100%"
+                    clearable
+                    filterable
+                    v-model="formData.leaderId"
+                    placeholder="请选择"
+                    popper-class="select-prop"
+                  >
+                    <el-option
+                      v-for="val in leaderOptions"
+                      :label="val.name"
+                      :value="val.id"
+                      :key="val.id"
+                    ></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="管理人工号" prop="leaderName">
+                  <el-input v-model="formData.leaderId" disabled
+                  style="width: 100%"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="8">
+                <el-form-item label="代理人资格证号" prop="agentQualificationCode">
+                  <el-input
+                    style="width: 100%"
+                    v-model="formDataDetail.agentQualificationCode"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              "
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <el-button size="small" type="primary" @click="nextStep"
+              >下一步</el-button
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="详细信息" name="2">
+          <userDetail
+            :formData="formData"
+            :formDataDetail="formDataDetail"
+            ref="formDataDetails"
+            isDisabled
+            :showThirdParty="true"
+          ></userDetail>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              "
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <!-- <el-button size="small" type="primary" @click="activeName = '1'"
+              >上一步</el-button
+            > -->
+            <el-button size="small" type="primary" @click="activeName = '3'"
+              >下一步</el-button
+            >
+          </div>
+        </el-tab-pane>
+        <el-tab-pane label="影像资料" name="3">
+          <el-form
+            :model="formDataDetail"
+            ref="formDataDetail"
+            :inline="true"
+            label-width="130px"
+            size="small"
+            class="peopleImage"
+          >
+            <peopleImage
+              :dataForm="dataForm"
+              :dialogVisible="dialogVisible"
+              :carfrontImg="true"
+              isDisabled
+            ></peopleImage>
+          </el-form>
+          <div class="footerHandle" style="text-align: right">
+            <el-button
+              size="small"
+              type="primary"
+              style="
+                border: 1px solid #D42426;
+                color: #D42426;
+              "
+              class="closeBtn"
+              @click="closeDialog"
+              >取消</el-button
+            >
+            <el-button
+              v-show="dialogTitle == '审核保司人员'"
+              size="mini"
+              type="primary"
+              style="background-color: #0ec216; border: 1px solid #0ec216"
+              @click="submitForm(1)"
+              >审核通过</el-button
+            >
+            <el-button
+              v-show="dialogTitle == '审核保司人员'"
+              size="mini"
+              type="danger"
+              style="background-color: #de504c; border: 1px solid #de504c"
+              @click="submitForm(2)"
+              >审核驳回</el-button
+            >
+            <!-- <el-button size="small" type="primary" @click="activeName = '2'"
+              >上一步</el-button
+            > -->
+          </div>
+        </el-tab-pane>
+      </el-tabs>
+    </el-dialog>
+    <!-- 驳回理由 -->
+    <el-dialog
+      title="驳回"
+      width="40%"
+      :visible.sync="showRemark"
+      @close="closeDialogOut"
+    >
+      <el-form>
+        <el-form-item label="备注" prop="remark">
+          <el-input
+            style="width: 30vw"
+            v-model="formDataDetail.remark"
+            type="textarea"
+            :autosize="{ minRows: 4, maxRows: 6 }"
+            placeholder="请输入内容"
+            prop="remark"
+            maxlength="200"
+            show-word-limit
+          ></el-input>
+        </el-form-item>
+      </el-form>
+      <span slot="footer">
+        <el-button type="primary" @click="handleSubOut">确定</el-button>
+        <el-button @click="closeDialogOut">取消</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import tree from "@/components/ztree.vue"; // 机构树组件
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+import peopleImage from "@/components/PeopleImage/index.vue"; //影像组件
+import userDetail from "@/components/UserDetail/index.vue"; // 详情信息
+import mixa from "../mixin";
+const mixin = new mixa({
+  treeTypeNum: 2, //树分类过滤参数
+});
+export default {
+  components: {
+    tree,
+    KtCommonTable,
+    peopleImage,
+    userDetail,
+  },
+  mixins: [mixin],
+  data() {
+    return {
+      leftTree:[],
+      deptId: "99",
+      showRemark: false, // 驳回弹窗
+      //影像资料
+      dataForm: {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      },
+      activeName: "1",
+      pageData: {
+        pageNum: 1,
+        pageSize: 20,
+        deptId: JSON.parse(localStorage.getItem("user_data")).deptId,
+        userId: "",
+        realName: "",
+        mobile: "",
+      },
+      formData: {},
+      roles: [],
+      formDataRules: {
+        remark: [{ required: true, message: "请填写备注", trigger: "blur" }],
+      },
+      formDataDetail: {},
+      filterObject: {},
+      peopleid: "",
+      peopledeptid: "",
+      recommenderList: [],
+      teamleadername: "",
+      teamleaderid: "",
+      // 右侧列表查询数据Start
+      queryFrom: {},
+      pageResult: {},
+      columns: [
+        // 数据列
+        { prop: "deptId", label: "部门编码", minWidth: 80, sortable: false },
+        {
+          prop: "pdeptName",
+          label: "机构名称",
+          minWidth: 120,
+          sortable: false,
+        },
+
+        { prop: "deptName", label: "部门名称", minWidth: 80, sortable: false },
+
+        { prop: "userId", label: "工号", minWidth: 80, sortable: false },
+        { prop: "name", label: "姓名", minWidth: 120, sortable: false },
+        {
+          prop: "sex",
+          label: "性别",
+          minWidth: 80,
+          sortable: false,
+          isSex: true
+        },
+        { prop: "mobile", label: "联系电话", minWidth: 100, sortable: false },
+        {
+          prop: "roleId",
+          label: "角色",
+          minWidth: 80,
+          sortable: false,
+        },
+        {
+          prop: "submitTime",
+          label: "提交时间",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "approveTime",
+          label: "审核时间",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "approveBy",
+          label: "审核人",
+          type: "text",
+          minWidth: 100,
+        },
+        {
+          prop: "status",
+          label: "状态",
+          minWidth: 120,
+          sortable: false,
+          isStatus: true
+        },
+      ],
+      dialogTitle: "",
+      dialogVisible: false, // 新增编辑界面是否显示
+      departmentList: [], // 选中公司的所有部门的集合
+      deptInfo: {}, //选中机构的基本信息
+      option: [], //机构列表
+      leaderOptions: [],
+      searchLeaderOptions: {},
+    };
+  },
+  created() {
+    this.getDictItems("user_status");
+    this.$api.role.findAll().then((res) => {
+      this.roles = res.data;
+    });
+    this.searchLeaderFun()
+  },
+  methods: {
+    searchLeaderFun() {
+      this.$api.user.findHxUserList().then((res) => {
+        this.leaderOptions = res.data;
+      });
+      this.$api.user
+        .findBackListByDeptId({ deptId: this.deptId })
+        .then((res) => {
+          this.searchLeaderOptions = res.data;
+        });
+    },
+    handleSubOut() {
+      if (!this.formDataDetail.remark) {
+        this.$message.error("请在详细信息填写驳回原因");
+        return;
+      }
+      this.$refs.formDataDetail.validate((valid) => {
+        if (valid) {
+          this.$api.user
+            .getApprovalNotPass({
+              userId: this.formData.id,
+              reason: this.formDataDetail.remark,
+            })
+            .then((result) => {
+              if (result.code == 200 && result.data) {
+                this.$message({
+                  message: "审核已驳回",
+                  type: "success",
+                });
+                this.findPage();
+                this.closeDialogOut();
+                this.dialogVisible = false;
+              }
+            });
+        }
+      });
+    },
+    closeDialogOut() {
+      this.showRemark = false;
+    },
+    closeDialogOut() {
+      this.showRemark = false;
+    },
+    handleDialogBefore(done) {
+      // 退出对话框之前确认提示
+      var that = this;
+      this.$confirm("确认关闭?")
+        .then((_) => {
+          done();
+        })
+        .catch((_) => {});
+    },
+    // 查询Start
+    queryStaffInfo() {
+      this.pageData.pageNum = 1
+      this.pageData.realName = this.queryFrom.name;
+      this.pageData.mobile = this.queryFrom.mobile;
+      this.pageData.userId = this.queryFrom.userId;
+      this.pageData.status = this.queryFrom.status;
+      this.findPage();
+    },
+    onZTreeClick: function (evt, treeId, treeNode) {
+      // 点击事件
+      this.currentTreeNode = evt;
+      this.pageData.deptId = this.currentTreeNode.id;
+      this.pageData.pageNum = 1;
+      this.findPage();
+      this.formData.deptId = [];
+      this.platform(treeId);
+    },
+    platform(array) {
+      if (!array.parent) {
+        return;
+      }
+      this.formData.deptId.unshift(array.data.id);
+      this.platform(array.parent);
+    },
+
+    // 右侧列表的方法Start
+    findPage(data) {
+      // 获取分页数据
+      if (data && data.pageRequest) {
+        this.pageData.pageNum = data.pageRequest.pageNum;
+        this.pageData.pageSize = data.pageRequest.pageSize;
+      }
+      let dto = {
+        deptId: this.deptId,
+        mobile: this.pageData.mobile,
+        name: this.pageData.realName,
+        userId: this.pageData.userId,
+        status: this.pageData.status,
+        leaderName: this.queryFrom.leaderId,
+        agentFlag: "4",
+        roleId: "4",
+      };
+      this.$api.user
+        // .findPage({
+        .findUserList({
+          dto,
+          pageNum: this.pageData.pageNum,
+          pageSize: this.pageData.pageSize,
+        })
+        .then((res) => {
+          res.data.records.forEach((val) => {
+            if (val.sex && val.sex !== "" && val.sex !== null) {
+              val.sex = this.sexoptions.find(
+                (ele) => ele.value == val.sex
+              ).label;
+            }
+            if (val.status && val.status !== "" && val.status !== null) {
+              val.status = this.user_statusoptions.find(
+                (ele) => ele.value == val.status
+              ).label;
+            }
+            val.roleId = val.roleName;
+          });
+          // this.pageResult = res.data;
+          this.pageResult = {
+            content: res.data.records,
+            pageNum: res.data.current,
+            pageSize: res.data.size,
+            totalPages: res.data.pages,
+            totalSize: res.data.total,
+          };
+          this.pageData.pageNum = res.data.current;
+          this.pageData.pageSize = res.data.size;
+          this.pageData.totalSize = res.data.total;
+        });
+    },
+    closeDialog() {
+      this.$refs["formData"].resetFields();
+      for (let key in this.formData) {
+        this.formData[key] = "";
+      }
+      this.dialogVisible = false;
+      this.activeName = '1'
+    },
+    // 新增或修改的弹出框Start
+    getDictItems(typeName) {
+      //--数据字典--
+      this.$api.dict
+        .findByLableName(typeName)
+        .then((response) => {
+          this[typeName + "options"] = response.data; // 把获取到的数据赋给this.data
+        })
+        .catch((error) => {
+          this[typeName + "options"] = [];
+        });
+    },
+    handleTableEdit1(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      };
+      this.$api.user.getUserDatail(params.row.userId).then((res) => {
+        if (res.code == 200) {
+          res.data.sysUser.status += "";
+          if (res.data.esmUserImageVo.length > 0) {
+            res.data.esmUserImageVo.forEach((item) => {
+              item.path = process.env.BASE_URL + item.path;
+              this.dataForm[item.type] = item.path;
+            });
+          }
+          this.formData = res.data.sysUser;
+          this.formDataDetail = res.data.sysUserInfo
+            ? res.data.sysUserInfo
+            : {};
+          this.formData.password = "";
+        }
+      });
+      this.dialogTitle = "详情";
+      this.dialogVisible = true;
+    },
+    handleTableEdit(params) {
+      this.dataForm = {
+        SFZ_01: "",
+        SFZ_02: "",
+        Z6Z_00: "",
+        LD_00: "",
+        YP_00: "",
+        DX_00: "",
+        LZ_01: "",
+      };
+      this.$api.user.getUserDatail(params.row.userId).then((res) => {
+        if (res.code == 200) {
+          res.data.sysUser.status += "";
+          if (res.data.esmUserImageVo.length > 0) {
+            res.data.esmUserImageVo.forEach((item) => {
+              item.path = process.env.BASE_URL + item.path;
+              this.dataForm[item.type] = item.path;
+            });
+          }
+          this.formData = res.data.sysUser;
+          this.formDataDetail = res.data.sysUserInfo
+            ? res.data.sysUserInfo
+            : {};
+          this.formData.password = "";
+        }
+      });
+      this.dialogTitle = "审核保司人员";
+      this.dialogVisible = true;
+    },
+    // 下一步
+    nextStep() {
+      this.$refs.formData.validate((valid) => {
+        if (valid) {
+          this.activeName = "2";
+          // this.formData.deptIdCom= this.formData.deptId
+          // this.formData.deptId =  this.formData.deptId.at(-1);
+          // if (this.formData.referrerId) {
+          //   this.formData.referrerName = this.recommenderOptions.find(val => this.formData.referrerId == val.id).name
+          // }
+          // this.$api.user.saveOrUpdate(this.formData).then((res) => {
+          //   if (res.code == 200) {
+          //   this.activeName='2'
+          //   this.basicInformation=res.data
+          //   } else {
+          //     this.$message({
+          //       message: `操作失败,请重新添加,(${res.msg})`,
+          //       type: "error",
+          //     });
+          //   }
+          // });
+        }
+      });
+    },
+    //联级选择器触发事件
+    handleChange(val) {
+      if (val.length !== 0) {
+        this.formData.deptId = val.at(-1);
+      }
+    },
+    submitForm(type) {
+      if (type == 1) {
+        this.$api.user.getApprovalPass(this.formData.id).then((result) => {
+          if (result.code == 200 && result.data) {
+            this.$message({
+              message: "审核已通过",
+              type: "success",
+            });
+            this.findPage();
+            this.dialogVisible = false;
+          }
+        });
+      } else {
+        this.showRemark = true;
+
+        return;
+        this.$refs.formDataDetail.validate((valid) => {
+          if (valid) {
+            this.$api.user
+              .getApprovalNotPass({
+                userId: this.formData.id,
+                reason: this.formDataDetail.remark,
+              })
+              .then((result) => {
+                if (result.code == 200 && result.data) {
+                  this.$message({
+                    message: "审核已驳回",
+                    type: "success",
+                  });
+                  this.findPage();
+                  this.dialogVisible = false;
+                }
+              });
+          }
+        });
+      }
+    },
+    getLeftTree() {
+      this.$api.dept.findTree().then((res) => {
+        // console.log(treeTypeNum);
+        this.treeDataRecursion(res.data, 4);
+        this.leftTree = res.data;
+      });
+    },
+    //树过滤五级机构递归
+    treeDataRecursion(data, num, one) {
+      data = data || this.leftTree;
+      one = one || 0;
+      one++;
+      for (let i = 0; i < data.length; i++) {
+        if (data[i].comlevel == 5 && data[i].managementSource != num) {
+          data.splice(i, 1);
+          i = i - 1;
+        } else {
+          this.treeDataRecursion(data[i].children, num, one);
+        }
+      }
+    },
+  },
+  mounted() {
+    this.getLeftTree();
+  },
+};
+</script>
+
+<style scoped>
+.el-divider--horizontal {
+  margin: 4px 0;
+}
+
+/* 顶部查询条件样式Start */
+.queryFrom .el-row {
+  margin: 10px 0px;
+}
+
+.queryFrom .el-form-item {
+  margin-bottom: 0px;
+}
+
+.queryFrom .queryButton .el-form-item__content {
+  margin-left: 0px !important;
+}
+</style>
+
+<style lang="scss" scoped>
+
+>>> .el-tabs__item:hover {
+  // color: #2d4d89;
+}
+>>> .el-tabs__item.is-active {
+  color: #fff;
+  // background: #2d4d89;
+  transition: all ease 0.5s;
+}
+>>> .el-tabs__active-bar {
+  // background-color: #2d4d89;
+}
+>>> .el-tabs__item.is-top:nth-child(2) {
+  padding-left: 20px !important;
+}
+>>> .el-tabs--top .el-tabs__item.is-top:last-child {
+  padding-right: 20px !important;
+}
+
+.el-tabs {
+  >>> .el-input__inner:focus,
+  >>> .el-select .el-input.is-focus .el-input__inner {
+    border-color: #D42426;
+  }
+  .el-button--primary,
+  .el-button--primary:focus {
+    background-color: #D42426;
+    border-color: #D42426;
+  }
+}
+.select-prop {
+  .el-select-dropdown__item.selected,
+  .el-date-table td.available:hover {
+    color: #D42426;
+  }
+  .el-date-table td.current:not(.disabled) span {
+    background-color: #D42426;
+  }
+}
+</style>
+
+<style lang="scss" scoped>
+.people-style {
+  // max-height: 500px;
+  .footerHandle{
+    // border-radius: 6px;
+    border-top: 1px solid #f2f2f2;
+    margin-top: 0 !important;
+    .el-button{
+      width: 90px;
+      height: 36px;
+      font-size: 16px;
+      margin-left: 24px;
+      font-weight: 310;
+    }
+    .el-button--danger:focus, .el-button--danger:hover{
+      color: #fff;
+    }
+  }
+  .peopleImage{
+    padding: 0 !important;
+    margin: 0 0 0 6px !important;
+  }
+  .closeBtn{
+    background: #fff !important;
+  }
+  .el-col{
+    width: calc(33.3333% - 20px);
+    margin-right: 20px;
+  }
+  .personnelInformation{
+    padding: 0 !important;
+    margin: 0 0 0 20px !important;
+    max-height: 470px;
+    .el-form-item{
+      width: 100%;
+      margin-bottom: 20px;
+      margin-right: 0px;
+      >>>.el-form-item__label{
+        font-size: 14px;
+        line-height: 16px;
+        color: #262626;
+        padding-bottom: 10px;
+      }
+      >>>.el-input__inner{
+      padding-left: 10px !important;
+      font-size: 14px;
+      font-weight: 500;
+      color: #333;
+      font-family: PingFang SC, PingFang SC;
+      border: 1px solid #eee;
+      &::placeholder{
+        color: #999999;
+        font-weight: 300;
+      }
+    }
+    >>>.el-textarea__inner{
+      padding: 10px;
+      border: 1px solid #eeeeee;
+      font-weight: 500;
+      font-size: 14px;
+      color: #333;
+      font-family: PingFang SC, PingFang SC;
+      &::placeholder{
+        color: #999999;
+        font-weight: 300;
+      }
+    }
+    >>>.el-input.is-disabled{
+      .el-input__inner{
+        background: #fff;
+      }
+    }
+    >>>.el-form-item__error{
+      padding-top: 0;
+      margin-top: 8px;
+      font-size: 12px;
+      color: #D42426;
+      position: relative;
+    }
+    }
+  }
+  /deep/ .el-date-editor{
+    position: relative;
+      .el-input__prefix{
+        // color: #D42426;
+        // position: absolute;
+        // right: 5px;
+        // left: auto;
+        // display: none;
+        background-image: url('~@/assets/image/people/rili.svg'); /* 替换为你的新图标路径 */
+        background-size: cover; /* 覆盖整个元素 */
+        background-repeat: no-repeat; /* 不重复背景图片 */
+        height: 15px; /* 根据实际情况调整高度 */
+        width: 17px; /* 根据实际情况调整宽度 */
+        position: absolute;
+        right: 10px;
+        top: 9px;
+        left: auto;
+        .el-icon-date::before{
+          content: '';
+        }
+      }
+      .el-input__suffix{
+        position: absolute;
+        right: 25px;
+      }
+  }
+  /deep/ .el-dialog {
+    border-radius: 6px;
+    .el-dialog__header{
+      height: 50px;
+      line-height: 50px;
+      padding: 0;
+      text-align: center;
+      border-top-left-radius: 6px;
+      border-top-right-radius: 6px;
+      .el-dialog__title{
+        color: #333;
+        font-weight: 500;
+      }
+    }
+    .el-dialog__body{
+      background: #fff;
+      border-radius: 6px;
+    }
+  }
+  /deep/ .el-tabs{
+    .el-tabs__header{
+      padding: 20px 0;
+      margin-bottom: 0;
+      .el-tabs__nav{
+        background: #f7f7f7;
+        padding: 0 4px;
+        height: 44px;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+      }
+      .el-tabs__item{
+        width: 120px;
+        height: 36px;
+        line-height: 36px;
+        text-align: center;
+        font-size: 16px;
+        background: #f7f7f7;
+        color: #333;
+        font-weight: 310;
+      }
+      .el-tabs__item.is-active{
+        background: #D42426;
+        color: #fff;
+        border-radius: 2px;
+      }
+      .el-tabs__active-bar{
+        display: none;
+      }
+      .el-tabs__nav{
+        left: 50%;
+        transform: translateX(-50%) !important;
+      }
+    }
+    .el-tabs__content{
+      border-radius: 6px;
+    }
+  }
+}
+</style>

+ 209 - 0
src/views/ProductManage/QrCode/JumpConfig.vue

@@ -0,0 +1,209 @@
+<!-- 模板区域 -->
+<template>
+  <div style="padding:10px;box-sizing: border-box;">
+    <el-button type="primary" @click="inscomanyAdd" size="small" style="margin-bottom: 10px;">添加</el-button>
+    <kt-common-table :data="pageResult" :columns="columns" editButtonName="编辑" deleteButtonName="删除"
+      :showBatchDelete="false" @findPage="findPage" @handleEdit="handleTableEdit" @handleDeleteFlag="handleTableDeleteFlag">
+    </kt-common-table>
+    <el-dialog :title="title" :visible.sync="dialogVisible" width="40%" @close="close">
+      <el-form :model="form" size="small" label-width="100px">
+        <el-row>
+          <el-col :span="14">
+            <el-form-item label="保险公司">
+              <el-select v-model="form.companyId" filterable clearable style="width: 100%;" @change="companyChange">
+                <el-option v-for="val in companyList" :key="val.id" :label="val.name" :value="val.id"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="10">
+            <el-form-item label="简称">
+              <el-input v-model="form.companyName" disabled></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="二维码类型">
+              <el-select v-model="form.type" placeholder="请选择类型">
+                <el-option label="url" :value="0"></el-option>
+                <el-option label="base码" :value="1"></el-option>
+                <el-option label="h5" :value="2"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="请求类型">
+              <el-select v-model="form.apiType" placeholder="请选择类型">
+                <el-option label="api" :value="1"></el-option>
+                <el-option label="python" :value="2"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" @click="dialogVisible = false">取 消</el-button>
+        <el-button size="small" type="primary" @click="submit">确 定</el-button>
+      </span>
+    </el-dialog>
+  </div>
+</template>
+
+<!-- 行为区域 -->
+<script>
+import KtCommonTable from "@/views/Core/KtCommonTable.vue"; //表格组件
+export default {
+  components: {
+    KtCommonTable,
+  },
+  data() {
+    return {
+      dialogVisible: false,
+      columns: [ // 数据列
+        { prop: "companyName", label: "保险公司简称", minWidth: 80, sortable: false },
+        { prop: "companyId", label: "保险公司代码", minWidth: 80, sortable: false },
+        { prop: "type", label: "二维码类型", minWidth: 80, sortable: false, formatter: this.typeFormatter },
+        { prop: "apiType", label: "请求类型", minWidth: 80, sortable: false, formatter: this.apiTypeFormatter },
+      ],
+      companyList: [],
+      pageRequest: {  //查询的默认条件
+        pageNum: 1,
+        pageSize: 20,
+
+      },
+      pageResult: [],
+      form: {
+        companyId: "",
+        companyName: "",
+        type: "",
+        apiType:"",
+      },
+      title: "添加",
+      dialogtype: "add",
+      id:"",
+    }
+  },
+  // 生命周期函数
+  created() {
+    this.$api.letter.gainTopList().then((res) => {
+      this.companyList = res.data;
+    });
+    this.findPage();
+  },
+  // 方法函数
+  methods: {
+    close() {
+      for (let key in this.form) {
+        this.form[key] = "";
+      }
+    },
+    typeFormatter(row, column) {
+      let type = row.type;
+      switch (type) {
+        case 0:
+          return "url"
+        case 1:
+          return "base码"
+        case 2:
+          return "h5"
+      }
+    },
+    apiTypeFormatter(row,column){
+      let apiType = row.apiType;
+      switch (apiType) {
+        case 1:
+          return "api"
+        case 2:
+          return " python"
+
+      }
+    },
+    handleTableEdit({ row, index }) {
+      this.title = '编辑';
+      this.dialogtype = 'edit';
+      this.$api.dict.qrCodeConfigquery(row.id).then((res) => {
+        if (res.code == '200') {
+          this.form.companyId = res.data.companyId;
+          this.form.companyName = res.data.companyName;
+          this.form.type = res.data.type;
+          this.form.apiType = res.data.apiType;
+          this.id=res.data.id;
+          this.dialogVisible = true;
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+    handleTableDeleteFlag({ row, index }) {
+      this.$api.dict.qrCodeConfigDel(row.id).then((res) => {
+        if (res.code == '200') {
+          this.findPage();
+        } else {
+          this.$message({
+            type: 'error',
+            message: res.msg,
+          });
+        }
+      });
+    },
+
+    findPage(data) {
+      this.$api.dict.qrCodequeryPage(this.pageRequest).then((res) => {
+        this.pageResult = res.data;
+      }).then(data != null ? data.callback : '')
+    },
+    submit() {
+      if (this.dialogtype == 'add') {
+        this.$api.dict.qrCodeConfigAdd(this.form).then((res) => {
+          if (res.code == '200') {
+            this.$message({
+              type: 'success',
+              message: res.msg,
+            });
+            this.dialogVisible = false;
+            this.findPage();
+
+          } else {
+            this.$message({
+              type: 'error',
+              message: res.msg,
+            });
+          }
+        });
+      }else{
+        this.$api.dict.qrCodeConfigEdit(this.id,this.form).then((res) => {
+          if (res.code == '200') {
+            this.$message({
+              type: 'success',
+              message: res.msg,
+            });
+            this.dialogVisible = false;
+            this.findPage();
+          } else {
+            this.$message({
+              type: 'error',
+              message: res.msg,
+            });
+          }
+        });
+      }
+
+    },
+    companyChange(e) {
+      console.log(e)
+      this.form.companyName = this.companyList.find(val => val.id == e).namesimple;
+    },
+    inscomanyAdd() {
+      this.title = '添加';
+      this.dialogtype = 'add';
+      this.dialogVisible = true;
+    },
+  },
+  // 计算属性
+  computed: {
+  }
+}
+</script>
+<!-- 样式区域 -->
+<style lang='scss' scoped></style>

+ 5 - 0
src/views/Sys/Inscommanytemplate.vue

@@ -307,6 +307,11 @@ export default {
           apiType: 8,
           url: "",
         },
+        {
+          apiName: "撤销订单",
+          apiType: 9,
+          url: "",
+        },
       ],
       pageRequest: {
         pageNum: 1,

+ 11 - 0
src/views/Sys/PublicizeImg.vue

@@ -86,6 +86,12 @@
           <i v-else class="el-icon-plus avatar-uploader-icon"></i>
         </el-upload>
       </div>
+      <div>
+        上传客服:
+        <el-input v-model="supportStaffUrl" placeholder="请输入客服链接"></el-input>
+
+      </div>
+      <!-- <a href="https://work.weixin.qq.com/kfid/kfcf52bd389cde8a421">https://work.weixin.qq.com/kfid/kfcf52bd389cde8a421</a> -->
       <span slot="footer" class="dialog-footer">
         <el-button size="small" @click="dialogVisible = false">取 消</el-button>
         <el-button size="small" type="primary" @click="submitForm">确 定</el-button>
@@ -173,6 +179,7 @@ export default {
           sortable: false,
         },
       ],
+      supportStaffUrl:''
     };
   },
   created() {
@@ -260,12 +267,14 @@ export default {
       this.dialogVisible = true
       this.CarFrontFile = {}
       this.qrCodeImage = ''
+      this.supportStaffUrl = ''
       this.$api.role
         .pictureFind(params.row.userId)
         .then((res) => {
           if (res.code == "200") {
             if (res.data) {
               this.qrCodeImage = process.env.BASE_URL + res.data.wechatPictureUrl
+              this.supportStaffUrl = res.data.supportStaffUrl
               res.data.url = res.data.wechatPictureUrl
               this.CarFrontFile = res.data
             }
@@ -295,6 +304,7 @@ export default {
       let data = {
         wechatpicture: this.CarFrontFile.id,
         wechatPictureUrl: this.CarFrontFile.url,
+        supportStaffUrl:this.supportStaffUrl,
         userId: this.formData.userId,
         userName: this.formData.name,
       }
@@ -302,6 +312,7 @@ export default {
         .pictureSave(data)
         .then((res) => {
           if (res.code == "200") {
+            this.supportStaffUrl = ''
             this.$message({
               message: res.msg || '操作成功',
               type: 'success'

+ 4 - 0
src/views/Task/AgentPoolChannel/AgentPoolChannel3.vue

@@ -112,6 +112,10 @@ export default {
     this.$api.insCompany.dicType("insOrderStatusAll").then((res) => {
       this.optionsStatus = res.data.ddList;
     });
+    this.pageRequest.quoteStartDateStr = '';
+    this.pageRequest.quoteEndDateStr = '';
+    this.pageRequest.signStartDateStr = this.currentDate;
+    this.pageRequest.signEndDateStr = this.currentDate;
   },
 
   methods: {

+ 5 - 0
src/views/Task/CompanyPoolChannel/CompanyPoolChannel3.vue

@@ -302,6 +302,10 @@ export default {
           ],
         },
     )
+    this.pageRequest.quoteStartDateStr = '';
+    this.pageRequest.quoteEndDateStr = '';
+    this.pageRequest.signStartDateStr = this.currentDate;
+    this.pageRequest.signEndDateStr = this.currentDate;
   },
 
   methods: {
@@ -325,6 +329,7 @@ export default {
     },
     // 右侧列表的方法Start
     findPage(data) {
+      console.log(data)
       if (data && data.pageRequest) {
         this.pageRequest.pageNum = data.pageRequest.pageNum;
         this.pageRequest.pageSize = data.pageRequest.pageSize;

+ 4 - 0
src/views/Task/ElectricSales/AgentPoolChannel3.vue

@@ -112,6 +112,10 @@ export default {
     this.$api.insCompany.dicType("insOrderStatusAll").then((res) => {
       this.optionsStatus = res.data.ddList;
     });
+    this.pageRequest.quoteStartDateStr = '';
+    this.pageRequest.quoteEndDateStr = '';
+    this.pageRequest.signStartDateStr = this.currentDate;
+    this.pageRequest.signEndDateStr = this.currentDate;
   },
 
   methods: {

+ 4 - 0
src/views/Task/TaskPoolChannel/TaskPoolChannel3.vue

@@ -109,6 +109,10 @@ export default {
     this.$api.insCompany.dicType("insOrderStatusAll").then((res) => {
       this.optionsStatus = res.data.ddList;
     });
+    this.pageRequest.quoteStartDateStr = '';
+    this.pageRequest.quoteEndDateStr = '';
+    this.pageRequest.signStartDateStr = this.currentDate;
+    this.pageRequest.signEndDateStr = this.currentDate;
   },
 
   methods: {

+ 1231 - 0
src/views/Task/UpdateOrderData/Index.vue

@@ -0,0 +1,1231 @@
+<template>
+  <div class="page">
+    <retrievalForm :fields="retrievalFields" @submit="handleFormSubmit" @toggleCollapse="toggleCollapse"
+      @areaSelectChange="areaSelectChange"></retrievalForm>
+    <el-table size="small" :data="pageResult" height="590" border v-loading="loading" highlight-current-row
+      @expand-change="handleRowChange" ref="expandTable"
+      :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#606266' }">
+      <el-table-column prop="subOrderId" label="订单号" align="center"></el-table-column>
+      <el-table-column prop="username" label="业务员工号" align="center">
+        <template slot-scope="scope">
+          <span>{{ scope.row.userid }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="username" label="业务员名称" align="center">
+        <template slot-scope="scope">
+          <span>{{ scope.row.username }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="managementSource" label="业务来源" align="center">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.managementSource == '渠道'">渠道</el-tag>
+          <el-tag v-if="scope.row.managementSource == '个代'" type="success">个代</el-tag>
+          <el-tag v-if="scope.row.managementSource == '电销'" type="warning">电销</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column prop="agreementName" label="协议" align="center" width="300">
+        <template slot-scope="scope">
+          <span>{{ scope.row.agreementName }} - {{ scope.row.businessDescription }} - {{ scope.row.jobDescription }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="insCompany" label="承保公司" align="center">
+        <template slot-scope="scope">
+          <span>{{ scope.row.insCompany ? scope.row.insCompany : '--' }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="dockingPerson" label="对接人" align="center"></el-table-column>
+      <el-table-column prop="entryStatus" label="录入来源" align="center" width="100">
+        <template slot-scope="scope">
+          <el-tag size="mini" v-if="scope.row.entryStatus == '1'" effect="dark">车险录入</el-tag>
+          <el-tag size="mini" v-if="scope.row.entryStatus == '2'" effect="dark" type="success">代客录单</el-tag>
+          <el-tag size="mini" v-if="scope.row.entryStatus == '3'" effect="dark" type="warning">外部订单</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column prop="isExternal" label="外部订单" align="center">
+        <template slot-scope="scope">
+          <span>{{ scope.row.isExternal == '1' ? '是' : '否' }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="insCompany" label="合作公司" align="center">
+        <template slot-scope="scope">
+          <span>{{ scope.row.partnerCompaniesName ? scope.row.partnerCompaniesName : '--' }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column prop="licenseno" label="车牌号" align="center"></el-table-column>
+      <el-table-column prop="insuredname" label="被保险人" align="center"></el-table-column>
+      <el-table-column prop="product" label="投保险种" align="center"></el-table-column>
+      <el-table-column prop="operatorName" label="录入人" align="center"></el-table-column>
+      <el-table-column prop="createtime" label="录单日期" align="center"></el-table-column>
+      <el-table-column prop="signingTime" label="签单时间" align="center"></el-table-column>
+      <el-table-column prop="payDate" label="支付时间" align="center"></el-table-column>
+      <el-table-column label="操作" align="center" min-width="170">
+        <template slot-scope="scope">
+          <kt-button label="保单时间更新" type="text" 
+            @click="updateOrder(scope.row)" />
+          <kt-button label="保单Pdf详情" type="text"  
+            @click="cpolicy(scope.row)" />
+          <kt-button label="重新生成保单" type="text" @click="trajectory(scope.row)" />
+        </template>
+      </el-table-column>
+    </el-table>
+    <!-- 分页功能 -->
+    <div class="block">
+      <el-pagination @size-change="applyhandleSizeChange" @current-change="applyhandleCurrentChange"
+        :current-page="pageNum" :page-size="pageSize" :page-sizes="[20, 30, 50, 100]"
+        layout="total, sizes, prev, pager, next, jumper" :total="totalSize"></el-pagination>
+    </div>
+    <!-- 车辆报价新页面 -->
+    <el-dialog title="保单信息" ref="detailsDialog" width="500"  height="500"  :visible.sync="cpolicyFlag" :close-on-click-modal="false" @close="closeCpolicyDialog">
+          <div>
+          <el-row class="premium-style " :gutter="20">
+            <el-col :span="12"><span>交强险保单号:</span>{{ warrantObj.jqPolicyNo }}</el-col>
+            <el-col v-if="orderInfo.sypolicyno" :span="12"><span>商业险保单号:</span>{{ warrantObj.syPolicyNo }}</el-col>
+            <el-col :span="12" v-for="(oldfileItem, oldfileIndex) in warrantObj.oldfileList" :key="oldfileIndex">
+              <span>{{ oldfileItem.fileTitle }} :</span>{{ orderInfo.licenseno }}
+              <el-button style="margin-left:30px" type="text" @click="viewfile(oldfileItem)">下载
+              </el-button>
+            </el-col>
+            <el-col :span="12" v-for="(val, oldfileIndex) in warrantObj.businessList" :key="oldfileIndex">
+              <span>{{ val.fileTitle }} :</span>{{ orderInfo.licenseno }}
+              <el-button style="margin-left:30px" type="text" @click="viewfile(val)">下载
+              </el-button>
+            </el-col>
+
+          </el-row>
+          <el-row class="premium-style " :gutter="20">
+            <el-col :span="12" v-for="(oldfileItem, oldfileIndex) in warrantObj.accidentList" :key="oldfileIndex">
+              <span>{{ oldfileItem.fileTitle }} :</span>{{ orderInfo.licenseno }}
+              <el-button style="margin-left:30px" type="text" @click="viewfile(oldfileItem)">下载
+              </el-button>
+            </el-col>
+          </el-row>
+        </div>
+    </el-dialog>
+  </div>
+</template>
+<script>
+
+import retrievalForm from "@/components/Form/retrievalForm.vue";
+import Cookies from "js-cookie";
+import KtButton from "@/views/Core/KtButton";//按钮权限组件
+import detailsDialog from "@/views/Core/components/detailsDialog.vue";
+export default {
+  components: {
+    KtButton,
+    detailsDialog,
+    retrievalForm
+  },
+  data() {
+    return {
+      orderInfo:{},
+      cpolicyFlag:false,
+      isrejection: false,
+      ddgjdialogVisible: false,
+      trajectoryTable: [],
+      feeOrderNewVoList: {},
+      isAuditing: {},
+      oldFeeInfo: [],//原始跟单费用比例
+      adjustFeeDescInfo: {},//调整费用时使用对象
+      adjustFeeFlag: false,
+      queryOrders: "",
+      value2: "",
+      optionsStatus: [],
+      quotedetailsdialogVisible: false,
+      loading: false,
+      pageNum: 1,//页数
+      pageSize: 20,//条数
+      totalSize: null,//总数
+      peopleid: "",//工号
+      pageResult: [],//列表
+      pageRequest: {
+        pageNum: 1,
+        pageSize: 20,
+        orderStatus: 0,
+        userId: "",
+      },
+      retrievalFields: [
+      {
+          name: 'whole',
+          label: '总机构',
+          type: 'select',
+          options: []
+        },
+        {
+          name: 'provinceId',
+          label: '省机构名称',
+          type: 'select',
+          options: []
+        },
+        {
+          name: 'cityId',
+          label: '市机构名称',
+          type: 'select',
+          options: []
+
+        },
+        {
+          name: 'countyId',
+          label: '区机构名称',
+          type: 'select',
+          options: []
+        },
+        {
+          name: 'houseId',
+          label: '门店名称',
+          type: 'select',
+          options: []
+        },
+
+
+        // {
+        //   name: 'taskNo',
+        //   label: '任务池号',
+        //   type: 'input',
+        // },
+        {
+          name: 'orderNo',
+          label: '订单号',
+          type: 'input',
+
+        },
+        {
+          name: 'managementSource',
+          label: '业务来源',
+          type: 'select',
+          options: [],
+          optionsIabel: "dictTag",
+          optionsValue: "dictValue",
+        },
+        {
+          name: 'companyId',
+          label: '保险公司',
+          type: 'select',
+          options: []
+        },
+        {
+          name: 'insuredName',
+          label: '被保险人',
+          type: 'input',
+          Retained: true,
+        },
+        {
+          name: 'licenseNo',
+          label: '车牌号',
+          type: 'input',
+          Retained: true,
+
+        },
+        {
+          name: 'frameNo',
+          label: '车架号',
+          type: 'input',
+          Retained: true,
+
+        },
+        {
+          name: 'engineNo',
+          label: '发动机号',
+          type: 'input',
+          Retained: true,
+        },
+
+        {
+          name: 'riskCode',
+          label: '投保险种',
+          type: 'select',
+          Retained: true,
+          options: [],
+          optionsIabel: "dictTag",
+          optionsValue: "dictTag",
+        },
+        {
+          name: 'operatorId',
+          label: '代理人工号',
+          type: 'input',
+          Retained: true,
+        },
+        {
+          name: 'operatorName',
+          label: '代理人姓名',
+          type: 'input',
+          Retained: true,
+        },
+        {
+          name: 'auditId',
+          label: '受理人工号',
+          type: 'input',
+          Retained: true,
+        },
+
+        {
+          name: 'agreeId',
+          label: '协议选择',
+          type: 'select',
+          options: [],
+          optionsIabel: "agreementName",
+        },
+
+
+
+        {
+          name: 'isExternal',
+          label: '外部订单',
+          type: 'select',
+          optionsIabel: "label",
+          optionsValue: "value",
+          options: [
+            {
+              label: '是',
+              value: '1'
+            }, {
+              label: '否',
+              value: '0'
+            },
+          ],
+        },
+        {
+          name: 'problemOrder',
+          label: '疑问订单',
+          type: 'select',
+          optionsIabel: "label",
+          optionsValue: "value",
+          options: [
+            {
+              label: '是',
+              value: '1'
+            }, {
+              label: '否',
+              value: '0'
+            },
+          ],
+        },
+        {
+          name: ["quoteStartDateStr", "quoteEndDateStr"],
+          label: '报价时间',
+          type: 'date',
+          list: 'quoteList'
+        },
+        {
+          name: ["attachStartDateStr", "attachEndDateStr"],
+          label: '起保时间',
+          type: 'date',
+          list: 'attachList'
+        },
+        {
+          name: ["signStartDateStr", "signEndDateStr"],
+          label: '签单时间',
+          type: 'date',
+          list: 'signList'
+        },
+        {
+          name: ["payStartDateStr", "payEndDateStr"],
+          label: '支付时间',
+          type: 'date',
+          list: 'payList'
+        },
+        {
+          name: 'jqPolicyNo',
+          label: '交强保单号',
+          type: 'input',
+          Retained: true,
+        },
+        {
+          name: 'syPolicyNo',
+          label: '商业保单号',
+          type: 'input',
+          Retained: true,
+        },
+        {
+          name: 'noPolicyNo',
+          label: '非车保单号',
+          type: 'input',
+          Retained: true,
+        },
+      ],
+      warrantObj: {
+
+      },
+    }
+  },
+  created() {
+    this.pageRequest.userId = Cookies.get("user");
+    this.areaqueryList(0, 9, "whole");
+    this.CompanyList();
+    this.agrmentlist();
+    this.$api.insCompany.dicType('productsType').then(res => {
+      if (res.code == 200) {
+        this.selectDataMatching(this.retrievalFields, 'riskCode', res.data.ddList);
+      }
+    });
+    this.$api.insCompany.dicType('organizationSource').then(res => {
+      if (res.code == 200) {
+        this.selectDataMatching(this.retrievalFields, 'managementSource', res.data.ddList);
+      }
+    });
+    this.getDicType("natureOfVehicleUse");//车辆使用性质
+    this.getDicType("businessVehicleUse"); //(车辆用途)营业
+    this.getDicType("outOfBusinessVehicleUse"); //(车辆用途)非营业
+    this.getDicType("vehicleType"); //车辆种类
+    this.getDicType("trafficManagementVehicleType"); //车辆类型
+    this.getDicType("energyType"); //能源种类
+  },
+  mounted() {
+    window.addEventListener('resize', this.getDimensions);
+  },
+  unmounted() {
+    window.removeEventListener('resize', this.getDimensions);
+  },
+  methods: {
+    auditstatusCap(val) {
+      if (val == "0") {
+        return "未审核";
+      }
+      if (val == "1") {
+        return "审核通过";
+      }
+      if (val == "2") {
+        return "审核驳回";
+      }
+      if (val == "3") {
+        return "已承保";
+      }
+    },
+    //获取机构数据
+    areaqueryList(level, parentId, filed) {
+      this.$api.task.queryListByParentId(level, parentId).then((res) => {
+        this.selectDataMatching(this.retrievalFields, filed, res.data);
+      });
+    },
+    CompanyList() {
+      this.$api.letter.gainTopList().then((res) => {
+        this.selectDataMatching(this.retrievalFields, 'companyId', res.data);
+      })
+    },
+    agrmentlist() {
+      this.$api.task.findPtlAgreementList().then((res) => {
+        this.selectDataMatching(this.retrievalFields, 'agreeId', res.data);
+      });
+    },
+    getDicType(type) {
+      this.$api.insCompany.dicType(type).then(res => {
+        if (res.code == 200) {
+          this[type + 'options'] = res.data.ddList;
+        }
+      })
+    },
+    //下拉数据匹配
+    selectDataMatching(files, name, data) {
+      files.forEach(filed => {
+        if (filed.name == name) {
+          filed.options = data;
+        }
+      })
+    },
+    areaSelectChange(obj) {
+      switch (obj.filed) {
+        case "whole":
+          this.areaqueryList(1, obj.id, "provinceId");
+          break;
+        case "provinceId":
+          this.areaqueryList(2, obj.id, "cityId");
+          break;
+        case "cityId":
+          this.areaqueryList(3, obj.id, "countyId");
+          break;
+        case "countyId":
+          this.areaqueryList(4, obj.id, "houseId");
+          break;
+        default:
+      }
+    },
+    handleFormSubmit(data) {
+      this.pageRequest.pageNum = 1;
+      this.pageRequest.pageSize = 20;
+      let obj = Object.assign(this.pageRequest, data)
+      this.pageRequest = obj;
+      this.findPage();
+    },
+    toggleCollapse(data) {
+      this.retrievalFields.map(val => {
+        if (val.Retained != null) val.Retained = data;
+        return val;
+      })
+    },
+    toChinesNum(num) {
+      let changeNum = [
+        "零", "1", "2", "3", "4", "5", "6", "7", "8", "9"
+      ];
+      let unit = ["", "0", "00", "000", "0000"];
+      num = parseInt(num);
+      let getWan = temp => {
+        let strArr = temp
+          .toString()
+          .split("")
+          .reverse();
+        let newNum = "";
+        let newArr = [];
+        strArr.forEach((item, index) => {
+          newArr.unshift(
+            item === "0" ? changeNum[item] : changeNum[item] + unit[index]
+          );
+        });
+        let numArr = [];
+        newArr.forEach((m, n) => {
+          if (m !== "零") numArr.push(n);
+        });
+        if (newArr.length > 1) {
+          newArr.forEach((m, n) => {
+            if (newArr[newArr.length - 1] === "零") {
+              if (n <= numArr[numArr.length - 1]) {
+                newNum += m;
+              }
+            } else {
+              newNum += m;
+            }
+          });
+        } else {
+          newNum = newArr[0];
+        }
+        return newNum;
+      };
+      let overWan = Math.floor(num / 10000);
+      let noWan = num % 10000;
+      if (noWan.toString().length < 4) {
+        noWan = "0" + noWan;
+      }
+      return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
+    },
+    //联级选择器触发事件
+    handleChange(val) {
+      if (val.length !== 0) {
+        this.pageRequest.deptId = val.at(-1);
+      }
+      else {
+        this.pageRequest.deptId = ''
+      }
+    },
+    getDimensions() {
+      this.width = document.documentElement.clientWidth - 350 + 'px';
+    },
+    //使用性质
+    natureOfVehicleUseCap(ele) {
+      if (this.natureOfVehicleUseoptions.find(item => item.dictValue == ele)) {
+        return this.natureOfVehicleUseoptions.find((item) => {
+          return item.dictValue === ele;
+        }).dictTag;
+      }
+      else {
+        return ''
+      }
+    },
+    //车辆类型
+    trafficManagementVehicleTypeCap(ele) {
+      if (this.trafficManagementVehicleTypeoptions.find(item => item.dictValue == ele)) {
+        return this.trafficManagementVehicleTypeoptions.find((item) => {
+          return item.dictValue === ele;
+        }).dictTag;
+      }
+      else {
+        return ''
+      }
+    },
+    //车辆种类
+    vehicleTypeCap(ele) {
+      if (this.vehicleTypeoptions.find(item => item.dictValue == ele)) {
+        return this.vehicleTypeoptions.find((item) => {
+          return item.dictValue === ele;
+        }).dictTag;
+      }
+      else {
+        return ''
+      }
+    },
+    //能源种类
+    energyTypeCap(ele) {
+      if (this.energyTypeoptions.find(item => item.dictValue == ele)) {
+        return this.energyTypeoptions.find((item) => {
+          return item.dictValue === ele;
+        }).dictTag;
+      }
+      else {
+        return ''
+      }
+    },
+    //车辆用途
+    outOfBusinessVehicleUseCap(type, ele) {
+      switch (type) {
+        case '非营业':
+          if (this.outOfBusinessVehicleUseoptions.find(item => item.dictValue == ele)) {
+            return this.outOfBusinessVehicleUseoptions.find((item) => {
+              return item.dictValue === ele;
+            }).dictTag;
+          }
+          else {
+            return ''
+          }
+        case '营业':
+          if (this.businessVehicleUseoptions.find(item => item.dictValue == ele)) {
+            return this.businessVehicleUseoptions.find((item) => {
+              return item.dictValue === ele;
+            }).dictTag;
+          }
+          else {
+            return ''
+          }
+        default:
+      }
+
+    },
+    tableRowClassName(row) {
+      if (row.row.problemOrder === 1) {
+        return "flagRow";
+      }
+      else {
+        return ''
+      }
+    },
+    //关闭
+    closeCpolicyDialog() {
+      this.cpolicyFlag =false;
+      this.warrantObj={};
+    },
+    cpolicy(row) {
+      this.cpolicyFlag =true;
+       this.$api.letter.readPdfUrlList(row.subOrderId).then((res) => {
+        console.log(res.data)
+        if (res.code == 200) {
+          console.log(res.data)
+           this.warrantObj =res.data; 
+        }  
+      }); 
+    },
+    // 设置每页条数
+    applyhandleSizeChange(val) {
+      this.pageSize = val;
+      this.pageNum = 1;
+      this.pageRequest.pageNum = 1;
+      this.pageRequest.pageSize = val;
+      this.findPage();
+    },
+    // 当前页
+    applyhandleCurrentChange(val) {
+      this.pageNum = val;
+      this.pageRequest.pageNum = val;
+      this.findPage();
+    },
+    handleRowChange(row) {
+      if (!row.expanded) {
+        this.$api.letter.querySonOrders({ orderNo: row.orderno }).then(res => {
+          if (res.code == '200' && res.data.length != 0) {
+            this.pageResult.map(item => {
+              if (item.orderno === row.orderno) {
+                item.insAreaCompanyList = res.data;
+              }
+              return item;
+            })
+            row.expanded = !row.expanded;
+            this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
+          } else {
+            this.$message.info("暂无数据");
+          }
+        })
+      } else {
+        row.expanded = !row.expanded;
+        this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
+      }
+    },
+    //数据
+    findPage() {
+      this.loading = true;
+      this.$api.task.queryPageOrder(this.pageRequest).then((res) => {
+        if (res.code == "200") {
+          this.loading = false;
+          this.pageResult = res.data.content;
+          this.pageNum = res.data.pageNum;
+          this.totalSize = res.data.totalSize;
+          this.pageResult.forEach(val => {
+            this.$set(val, "expanded", false);
+          });
+        } else {
+          this.loading = false;
+        }
+      })
+    },
+    //查询
+    onSubmit() {
+      this.pageRequest.pageNum = 1;
+      this.pageRequest.pageSize = 20;
+      this.findPage();
+    },
+    //时间js
+    monthChange(e) {
+      if (e === null) {
+        this.pageRequest.startDate = e;
+        this.pageRequest.endDate = e;
+      } else {
+        this.pageRequest.startDate = e[0];
+        this.pageRequest.endDate = e[1];
+      }
+
+    },
+    tableRowColor({ row, rowIndex }) {
+      console.log(row.problemOrder);
+      if (row.problemOrder  == 1) {
+        return "blue-row";
+      }
+    },
+    //预览文件
+    viewfile(index) {
+      console.log(index);
+      let name = index.fileurl.lastIndexOf("/");
+      fetch(index.fileurl)
+        .then((response) => response.blob())
+        .then((blob) => {
+          this.saveAs(
+            blob,
+            index.fileurl.substring(name + 1, index.fileurl.length)
+          );
+        })
+        .catch((error) => { });
+    },
+  }
+}
+</script>
+<style lang="scss" scoped>
+/deep/ {
+  .el-table .row-expand-cover .cell .el-table__expand-icon {
+    display: none;
+  }
+
+  .el-descriptions__body {
+    padding: 10px 50px;
+    box-sizing: border-box;
+    color: rgb(226, 118, 10);
+  }
+
+  .el-descriptions-item__label {
+    &:not(.is-bordered-label) {
+      color: #333;
+    }
+  }
+
+  .saomazhifucodeClass .el-dialog__body,
+  .saomazhifucodeClass .el-dialog__header {
+    padding: 0;
+  }
+
+  .el-input.is-disabled .el-input__inner {
+    color: #333;
+  }
+}
+
+.ORcodebody {
+  width: 100%;
+  height: auto;
+  box-sizing: border-box;
+}
+
+.code_title {
+  width: 100%;
+  height: 50px;
+  background-color: #fdcb08;
+  justify-content: center;
+}
+
+.code_title>span {
+  font-size: 22px;
+  color: #000;
+  font-weight: bold;
+}
+
+.ORcode {
+  width: 100%;
+  background: #fff;
+  height: auto;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 30px;
+  box-sizing: border-box;
+  border-bottom: 6px dotted #fdcb08;
+}
+
+.ORcode>div {
+  width: 180px;
+  height: 180px;
+  border: 1px solid #000;
+  border-radius: 5px;
+}
+
+.ORtitle {
+  background: #fff;
+  width: 100%;
+  padding: 20px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+}
+
+.ORtitle>div {
+  width: 100%;
+  margin: 10px 0;
+  font-weight: bold;
+  font-size: 14px;
+  display: flex;
+  align-items: center;
+}
+
+.ORtitle>div>span:nth-child(1) {
+  color: #979797;
+  text-align: end;
+  width: 150px;
+}
+
+.ORtitle>div>span:nth-child(2) {
+  color: #000;
+  margin-left: 10px;
+}
+</style>
+<style scoped>
+#qqq {
+  background-color: #111;
+  width: 300px;
+  height: 300px;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+}
+
+#qrCode {
+  display: inline-block;
+  margin: 0 auto;
+  /*水平居中*/
+  position: relative;
+  top: 15%;
+}
+
+#qrCode img {
+  width: 200px;
+  height: 200px;
+  background-color: #fff;
+  padding: 6px;
+}
+
+.leftContainer {
+  width: 80px;
+  position: fixed;
+  top: 79px;
+  left: 30px;
+}
+
+.leftContainer .el-col {
+  width: 80px;
+  height: 80px;
+  border-bottom: 1px solid #4d5c6f;
+  background: #526176;
+  cursor: pointer;
+  color: #a6aeb9;
+  border-radius: 0;
+}
+
+.leftContainer .el-col a {
+  display: block;
+  color: #a6aeb9;
+  text-decoration: none;
+}
+
+.leftContainer .el-col a:hover {
+  color: #fff;
+}
+
+.leftContainer .el-col a.active {
+  color: #fff;
+}
+
+.leftContainer .el-col i {
+  font-size: 30px;
+  margin: 15px 0px 5px;
+}
+
+.rightContainer {
+  width: calc(100vw - 160px);
+  margin-left: 100px;
+}
+
+.rightContainer .header .el-col {
+  font-size: 18px;
+  font-weight: bold;
+}
+
+.rightContainer .bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+}
+
+.rightContainer .bodyTitle>label {
+  margin: 0px 15px;
+  font-weight: bold;
+}
+
+.rightContainer #demo2 .body,
+.rightContainer #demo6 .body {
+  border: 1px solid #ddd;
+  padding: 15px;
+  border-top: none;
+}
+
+.rightContainer .el-card {
+  margin-bottom: 15px;
+}
+
+
+
+.body .el-row .el-col label {
+  text-align: right;
+  width: 80px;
+  font-size: 14px;
+  width: 100%;
+  line-height: 36px;
+  display: inline-block;
+  box-sizing: border-box;
+}
+
+.disabledInput {
+  width: 80% !important;
+  background-color: #f5f7fa;
+  text-align: center !important;
+  max-width: 200px;
+  border: 1px solid #e4e7ed;
+  color: #c0c4cc;
+  cursor: not-allowed;
+  border-radius: 4px;
+  box-sizing: border-box;
+  padding: 0px 10px;
+  height: 36px;
+  margin: 20px 10%;
+}
+
+/* 上传图片样式Start */
+.avatar-uploader .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  overflow: hidden;
+}
+
+.avatar-uploader .el-upload:hover {
+  border-color: #409eff;
+}
+
+.avatar-uploader-icon {
+  font-size: 28px;
+  color: #8c939d;
+  width: 100px;
+  height: 100px;
+  line-height: 100px;
+  text-align: center;
+  border: 1px dashed #d9d9d9;
+}
+
+.avatar {
+  border: 1px dashed #d9d9d9;
+  padding: 5px;
+  border-radius: 6px;
+  width: 100px;
+  height: 100px;
+  display: block;
+}
+
+.imageStyle {
+  display: inline-block;
+  width: 100px;
+  height: 100px;
+  box-shadow: #ddd 0px 0px 5px;
+  margin-right: 20px;
+}
+
+/* 上传图片样式End */
+
+.dis {
+  display: flex;
+}
+
+.align {
+  align-items: center;
+}
+
+.jus {
+  justify-content: space-between;
+}
+
+.display {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  padding: 10px;
+  box-sizing: border-box;
+}
+
+.block {
+  margin-top: 10px;
+}
+
+.page {
+  padding: 14px;
+  box-sizing: border-box;
+}
+
+.el-select--medium {
+  vertical-align: bottom !important;
+}
+
+.widths {
+  width: 220px;
+}
+
+.demo-table-expand {
+  width: 100%;
+  height: auto;
+  padding: 10px 50px;
+  font-size: 14px;
+}
+
+.demo-table-expand-time {
+  width: 600px;
+}
+
+.demo-table-expand-time>div {
+  margin: 0 10px;
+}
+
+.icon-img {
+  display: block;
+  width: 30px;
+  height: 30px;
+}
+
+.Enclosure {
+  width: 100%;
+  background-color: #fff;
+  padding: 20px;
+  box-sizing: border-box;
+  margin-bottom: 15px;
+  border-radius: 6px;
+  border: 1px solid #ebeef5;
+  transition: all 0.2s ease-in-out;
+  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+}
+
+.headers {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  flex-wrap: wrap;
+  margin: 5px 0;
+  font-weight: bold;
+  color: #333;
+}
+
+/* 内容待定 */
+.headers_Custom>div {
+  padding: 20px 40px;
+  font-size: 16px;
+}
+
+.headers_Custom>div>span {
+  color: rgb(226, 118, 10);
+}
+
+.back {
+  color: #303133;
+  font-weight: 700;
+}
+
+.u-f-ac {
+  -webkit-box-align: center;
+  align-items: center;
+  /* padding: 10px; */
+}
+
+.bodyTitle {
+  height: 40px;
+  background: #f3f3f3;
+  border: 1px solid #dddddd;
+  line-height: 40px;
+  padding: 0 20px;
+  box-sizing: border-box;
+}
+
+.bjdbody {
+  width: 100%;
+  height: auto;
+  background-color: rgb(199, 20, 45);
+  padding: 20px 10px 0 10px;
+  box-sizing: border-box;
+  border-radius: 8px;
+}
+
+.bjdCarMessage,
+.bjdCarSum {
+  width: 100%;
+  height: auto;
+  background-color: #fff;
+  border-radius: 8px;
+  margin-bottom: 10px;
+  padding-bottom: 10px;
+}
+
+.bjdfooter {
+  border-top: 1px solid #fff;
+  padding: 10px;
+  box-sizing: border-box;
+  color: #fff;
+}
+
+.bjdCarSum>div {
+  width: 100%;
+  padding: 15px 20px;
+  box-sizing: border-box;
+  font-weight: bold;
+  color: #000;
+  border-bottom: 1px solid #f2f2f2;
+}
+
+.bjdCarMessage1 {
+  height: 80px;
+  padding: 16px;
+  box-sizing: border-box;
+  border-bottom: 1px solid #f2f2f2;
+  display: flex;
+  align-items: center;
+  color: #000;
+
+
+}
+
+.bjdCarMessage1>.f-c>span:nth-child(1) {
+  font-size: 18px;
+  font-weight: bold;
+}
+
+.bjdCarMessage1>img,
+.bjdfooter>img {
+  margin-right: 30px;
+}
+
+.bjdCarMessage1 .f-c>span:nth-child(2),
+.bjdCarMessage1 .f-c>span:nth-child(3) {
+  font-size: 12px;
+  margin-top: 5px;
+}
+
+.bjdCarMessage2_car>span:nth-child(1) {
+  color: #000;
+  font-weight: bold;
+}
+
+.bjdCarMessage2_car>span:nth-child(2) {
+  color: #999;
+}
+
+.bjdCarMessage2>ul>li {
+  margin: 20px 0;
+}
+
+.Risk {
+  width: 100%;
+  height: auto;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  font-size: 12px;
+}
+
+.Risk_title {
+  width: 100%;
+  height: 40px;
+}
+
+.Risk_title>div {
+  background: rgb(199, 20, 45);
+  color: rgb(255, 255, 255);
+  height: 100%;
+  font-weight: 500;
+  width: 33.3%;
+  padding: 10px 20px;
+  box-sizing: border-box;
+  border: #fff solid 1px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  border-bottom: none;
+
+}
+
+
+.Risk_title>div:nth-child(2) {
+  border-left: none;
+  border-right: none;
+}
+
+.Risk_data {
+  width: 100%;
+  height: 40px;
+}
+
+.Risk_data>div {
+  background: #fbf6f7;
+  color: rgb(51, 51, 51);
+  height: 100%;
+  font-weight: 500;
+  width: 33.3%;
+  padding: 10px 20px;
+  box-sizing: border-box;
+  border: #fff solid 1px;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  border-bottom: none;
+}
+
+.Risk_data>div :nth-child(2) {
+  border-left: none;
+  border-right: none;
+}
+
+.Risk_title>div :nth-child(3) {
+  border-top-right-radius: 10px;
+}
+
+.jyxStyle>span {
+  display: inline-block;
+  text-align: center;
+}
+
+.FeeEnclosure /deep/ table {
+  width: 100% !important;
+}
+
+.FeeEnclosure /deep/ .cell {
+  text-align: center;
+}
+
+.FeeEnclosure /deep/ .el-table__empty-block {
+  width: 100% !important;
+}
+
+.FeeEnclosure .feeadjust-input {
+  width: 35%;
+  height: 20px;
+  font-size: 13px;
+}
+/deep/ .el-table .el-table__row.blue-row {
+  background: #409eff;
+  opacity: .8;
+  color: #fff;
+}
+/deep/.el-table .el-table__row.blue-row:hover{
+  color: #000;
+}
+</style>

+ 70 - 76
src/views/Task/daikeComponents/KtLetter1.vue

@@ -873,14 +873,19 @@
                   <span class="letter letter11">.</span>
                   </p>
                 </div>
-                <div class="dis f-c" v-show="reslistitem.quoteCode == '200'">
+                <div class="dis f-c" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
                   <span style="color: #d42426; font-weight: bold">
                     ¥{{ reslistitem.result.sumPermium }}
                   </span>
                   <!-- <span style="font-size: 13px; color: #2d4d89" class="m-top-5">{{ reslistitem.result.feeView ? '总科技币:' : '优惠:' }}{{ reslistitem.result.sumExportFee}}</span> -->
                 </div>
+                <div class="dis f-c" v-show="reslistitem.quoteCode == '200' && (reslistitem.result.orderstatus == '10' || reslistitem.result.orderstatus == '11')">
+                  <span style="color: #d42426; font-weight: bold">
+                    {{ reslistitem.result.orderStatusInfo }}
+                  </span>
+                </div>
               </el-col>
-              <el-col :span="3" v-show="reslistitem.quoteCode == '200'">
+              <el-col :span="3" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
                 <div class="dis f-c">
                   <span style="color: #d42426; font-weight: bold">
                     ¥{{ reslistitem.result.jqPremium }}
@@ -888,12 +893,12 @@
                   <!-- <span v-if="reslistitem.result.jqPremium" style="font-size: 13px; color: #2d4d89" class="m-top-5">{{ reslistitem.result.feeView ? '掌柜科技币:' : '优惠:' }}{{ reslistitem.result.jqExportFee }}</span> -->
                 </div>
               </el-col>
-              <el-col :span="3" v-show="reslistitem.quoteCode == '200'">
+              <el-col :span="3" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
                 <span style="color: #d42426; font-weight: bold">
                   ¥{{ reslistitem.result.taxAmount }}
                 </span>
               </el-col>
-              <el-col :span="3" v-show="reslistitem.quoteCode == '200'">
+              <el-col :span="3" v-show="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
                 <div class="dis f-c">
                   <span style="color: #d42426; font-weight: bold">
                     ¥{{ reslistitem.result.syPremium }}
@@ -901,7 +906,7 @@
                   <!-- <span v-if="reslistitem.result.syPremium" style="font-size: 13px; color: #2d4d89" class="m-top-5">{{ reslistitem.result.feeView ? '掌柜科技币:' : '优惠:' }}{{ reslistitem.result.syExportFee }}</span> -->
                 </div>
               </el-col>
-              <el-col :span="2" v-if="reslistitem.quoteCode == '200'" style="">
+              <el-col :span="2" v-if="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'" style="">
                 <div class="dis f-c">
                   <span style="color: #d42426; font-weight: bold">
                     {{
@@ -947,6 +952,12 @@
                   }}
                 </div>
               </el-col>
+              <el-col :span="24" v-show="reslistitem.quoteCode == '200' &&
+                (reslistitem.result.orderstatus == '10' || reslistitem.result.orderstatus == '11')">
+                <div class="flex j-s offer-time" style="color: #d42426">
+                  {{ reslistitem.result.quoteErrMsg }}
+                </div>
+              </el-col>
               <div class="baofeijisuan" @click="handleListJisuan(reslistitem, reslistindex)">计算保费</div>
             </el-row>
 
@@ -1042,7 +1053,7 @@
                           </div>
                           <div class="w-60"> {{ toWan(kinds.amount) }}</div>
                         </div>
-                        <div class="table-list-content" v-if="!reslistitem.programme.kinds.main.length && !reslistitem.programme.kinds.additional.length">暂无</div>
+                        <div class="table-list-content" v-if="reslistitem.programme && reslistitem.programme.kinds && !reslistitem.programme.kinds.main.length && !reslistitem.programme.kinds.additional.length">暂无</div>
                       </div>
                     </div>
                     <div class="card-table" v-if="reslistitem.programme && reslistitem.programme.drivingList && reslistitem.programme.drivingList.length > 0">
@@ -1066,7 +1077,7 @@
                             <span v-show="reslistitem.checkedProgramme == 99"><i class="el-icon-delete" @click="deleteJiaYi(reslistindex, drivingIndex)"></i></span>
                           </div>
                         </div>
-                        <div class="table-list-content" v-if="!reslistitem.programme.drivingList.length">暂无</div>
+                        <div class="table-list-content" v-if="reslistitem.programme && reslistitem.programme.drivingList && !reslistitem.programme.drivingList.length">暂无</div>
                       </div>
                     </div>
                     <div class="card-table" v-show="reslistitem.cnName == 'guoRen'">
@@ -1113,13 +1124,13 @@
                           </div>
                           <div class="w-50 w-55">{{ toWan(kinds.amount, 'fw') }}</div>
                         </div>
-                        <div class="table-list-content" v-if="!reslistitem.programme.kinds.service.length">暂无</div>
+                        <div class="table-list-content" v-if="reslistitem.programme && reslistitem.programme.kinds && !reslistitem.programme.kinds.service.length">暂无</div>
                       </div>
                     </div>
                   </div>
                 </el-col>
                 <!-- 优惠明细 -->
-                <el-col :span="4" class="card-bg" style="padding-left: 0;" v-if="reslistitem.quoteCode == '200'">
+                <el-col :span="4" class="card-bg" style="padding-left: 0;" v-if="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
                   <div class="card-mingxi youhui">
                     <div class="card-mingxi-title">优惠明细:</div>
                     <div class="card-table">
@@ -1230,7 +1241,7 @@
                 </el-col>
 
                 <!-- 保险期限 -->
-                <el-col :span="6" class="card-bg" style="padding-left: 0;" v-if="reslistitem.quoteCode == '200'">
+                <el-col :span="6" class="card-bg" style="padding-left: 0;" v-if="reslistitem.quoteCode == '200' && reslistitem.result.orderstatus != '10' && reslistitem.result.orderstatus != '11'">
                   <div class="card-mingxi baoxian">
                     <div class="card-mingxi-title">保险期限:
                       <div @click="syncData(reslistitem.result)">
@@ -2508,14 +2519,7 @@
         </div>
         <div class="ORcode">
           <div style="padding: 13px; position: relative">
-            <div v-if="['大家财险', '中煤财险', '华泰财险'].includes(inscompany)">
-              <div v-if="apiType == 1" id="qrcode" ref="qrcode"></div>
-              <img v-else :src="paycodeimg" alt style="width: 100%" />
-            </div>
-            <div v-else>
-              <img v-if="['太平财险', '诚泰财险'].includes(inscompany)" :src="paycodeimg" alt style="width: 100%" />
-              <div v-else id="qrcode" ref="qrcode"></div>
-            </div>
+            <div  id="qrcode" ref="qrcode"></div>
           </div>
         </div>
         <img style="margin-left: -16px" src="../../../assets/image/divider.png" alt />
@@ -2598,14 +2602,7 @@
           <div>商业险:{{ sypremium }}</div>
           <div>驾意险:{{ jypremium }}</div>
         </div>
-        <div v-if="['大家财险', '中煤财险', '华泰财险'].includes(inscompany)">
-          <div v-if="apiType == 1" id="qrcode" ref="qrcode"></div>
-          <img v-else :src="paycodeimg" alt style="width: 100%" />
-        </div>
-        <div v-else>
-          <img v-if="['太平财险', '诚泰财险'].includes(inscompany)" :src="paycodeimg" alt style="width: 200px; height: 200px" />
-          <div v-else id="qrcode" ref="qrcode"></div>
-        </div>
+        <div  id="qrcode" ref="qrcode"></div>
         <div class="scan-code">
           <div>保险公司:{{ inscompany }}</div>
           <div>车牌号:{{ licenseNo }}</div>
@@ -3540,6 +3537,28 @@
                             </el-upload>
                         </div>
                     </div>
+                    <div class="flex f-wrap" id="shouquanshu">
+                        <div class="aaa">
+                            <span>1.授权书</span>
+                            <el-upload action="#" list-type="picture-card" :auto-upload="false" :limit="1" drag :on-change="(file) =>
+                                drivingupload(file, 'imageList6', 'imgList25', 'SQ00')
+                                " :file-list="imgList25" multiple ref="upload3"
+                                :class="{ styleB: imgList25.length === 1 }">
+                                <img v-show="imgList25.length == 0" src="../../../../static/userfront.png"
+                                    style="width: 100%; height: 100%" />
+                                <div slot="file" slot-scope="{ file }">
+                                    <img class="el-upload-list__item-thumbnail" :src="file.url" alt />
+                                    <span class="el-upload-list__item-actions">
+                                        <span class="el-upload-list__item-delete"
+                                            @click="handleRemove1(file, 'imageList6', 'imgList25')">
+                                            <i class="el-icon-zoom-in" @click.stop="handlePictureCardPreview(file.url)"></i>
+                                            <i class="el-icon-delete"></i>
+                                        </span>
+                                    </span>
+                                </div>
+                            </el-upload>
+                        </div>
+                    </div>
                 </el-col>
             </el-row>
 
@@ -4043,7 +4062,7 @@ let _self;
 import QRCode from "qrcodejs2";
 import Cookies from "js-cookie";
 import CommonUtil from "@/utils/comutil.js";
-import floatingBar from '@/components/customerService/floatingBar.vue'; 
+import floatingBar from '@/components/customerService/floatingBar.vue';
 import {
   getAgeByIdCard,
   searchkey,
@@ -4233,7 +4252,10 @@ export default {
           name: "上年商业险保单",
           scroll: "snbaodan",
         },
-
+        {
+          name: "授权书",
+          scroll: "shouquanshu",
+        },
       ],
       packageValue: "",
       packageOptions: [],
@@ -5514,7 +5536,10 @@ export default {
               name: "上年商业险保单",
               scroll: "snbaodan",
           },
-
+          {
+          name: "授权书",
+          scroll: "shouquanshu",
+        },
       ],
       ProViewImg: "", //预览图片
       carfrontImg: "", //行驶证正面
@@ -5555,6 +5580,7 @@ export default {
       imgList22: [],
       imgList23: [],
       imgList24: [],
+      imgList25: [],
       //影像上传列表
       imageList1: [],
       imageList2: [],
@@ -5832,7 +5858,7 @@ export default {
               if (JSON.stringify(param) === this.oldData) {
                 return
               } else {
-                this.oldData = JSON.stringify(param) 
+                this.oldData = JSON.stringify(param)
               }
               console.log('校验成功,获取列表')
               this.showLoading = true
@@ -10249,6 +10275,7 @@ export default {
                     this.imgList22 = [];
                     this.imgList23 = [];
                     this.imgList24 = [];
+                    this.imgList25 = [];
                     Object.keys(res.data).forEach((keys) => {
                         if (res.data[keys].url) {
                             res.data[keys].url = process.env.BASE_URL + res.data[keys].url;
@@ -10422,6 +10449,13 @@ export default {
                                     });
                                     this.imgList24.push(res.data[keys]);
                                     break;
+                                    case "SQ00":
+                                    this.imageList6.push({
+                                        imageId: res.data[keys].imageId,
+                                        imageType: res.data[keys].imageType,
+                                    });
+                                    this.imgList25.push(res.data[keys]);
+                                    break;
                                 default:
                                     break;
                             }
@@ -10609,7 +10643,7 @@ export default {
                     ZMApiaudit =
                     this.apiType == 2 ? "pythonaudit" : "Zhongmeiaudit";
                     _this.$api.letter[ZMApiaudit]({
-                    
+
                       // _this.$api.letter
                       //   .Zhongmeiaudit({
                           [this.apiType == 2 ? "subOrderNo" : "companyId"]: this.companyId,
@@ -11387,7 +11421,7 @@ export default {
     },
     bbtbcarShowChange() {
       if (this.bbtbcarShow) {
-        this.bbczcarShow = false 
+        this.bbczcarShow = false
       }
       if (this.bbtbcarShow && !this.bbczcarShow) {
           this.insuredPersonInfo = JSON.parse(JSON.stringify(this.policyHolderInfo));
@@ -12305,48 +12339,7 @@ export default {
                 this.codedialogVisible = true;
               }
               this.$nextTick(function () {
-                var _that = this;
-                switch (_that.inscompany) {
-                  case "太平财险":
-                  case "诚泰财险":
-                    let anresult = qrCodeUrl.replace(/[\r\n]/g, "");
-                    let animgBase64 = `data:image/png;base64,${anresult}`;
-                    base64ToPath(animgBase64).then((path) => {
-                      this.paycodeimg = path;
-                    });
-                    break;
-                  case "华泰财险":
-                    switch (item.apiType) {
-                      case 1:
-                        this.creatQrCode(qrCodeUrl);
-                        break;
-                      case 2:
-                        let anresult = qrCodeUrl.replace(/[\r\n]/g, "");
-                        let animgBase64 = `data:image/png;base64,${anresult}`;
-                        base64ToPath(animgBase64).then((path) => {
-                          this.paycodeimg = path;
-                        });
-                        break;
-                    }
-                    break;
-                  case "大家财险":
-                  case "中煤财险":
-                    switch (item.apiType) {
-                      case 1:
-                        this.creatQrCode(qrCodeUrl);
-                        break;
-                      case 2:
-                        let anresult = qrCodeUrl.replace(/[\r\n]/g, "");
-                        let animgBase64 = `data:image/png;base64,${anresult}`;
-                        base64ToPath(animgBase64).then((path) => {
-                          this.paycodeimg = path;
-                        });
-                        break;
-                    }
-                    break;
-                  default:
-                    this.creatQrCode(qrCodeUrl);
-                }
+                this.creatQrCode(qrCodeUrl);
               });
             }
           });
@@ -12423,6 +12416,7 @@ export default {
         this.imgList22 = [];
         this.imgList23 = [];
         this.imgList24 = [];
+        this.imgList25 = [];
       // 清空保险公司选中的意外险
       this.zijintemplateSelection = "";
       this.zhongantemplateSelection = "";
@@ -13239,7 +13233,7 @@ export default {
     overflow-x: auto;
 
     .width1280 {
-      min-width: 1280px;
+      min-width: 1576px;
     }
     .bg-white {
       background: #FFF;
@@ -13463,7 +13457,7 @@ export default {
         opacity: 1;
       }
     }
-    
+
     .juse-style {
       color: #FFF;
       background: linear-gradient( 90deg, #FF981F 0%, #FF5C00 100%);

+ 12 - 74
src/views/Task/daikeComponents/KtOrder.vue

@@ -212,13 +212,13 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column prop="orderno" label="订单号" align="center" width="180"></el-table-column>
-      <el-table-column prop="username" :label="managementSource==1?'会员名称':'业务员'" align="center" width="180">
+      <el-table-column prop="orderno" label="订单号" align="center" width="160"></el-table-column>
+      <el-table-column prop="username" :label="managementSource==1?'会员名称':'业务员'" align="center" width="80">
         <template slot-scope="scope">
           <span>{{ scope.row.username }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="username" :label="managementSource==1?'会员号':'业务员工号'" align="center" width="180">
+      <el-table-column prop="username" :label="managementSource==1?'会员号':'业务员工号'" align="center" width="150">
         <template slot-scope="scope">
           <span>{{ scope.row.userid }}</span>
         </template>
@@ -228,7 +228,7 @@
           <span>{{ scope.row.insCompany ? scope.row.insCompany : "--" }}</span>
         </template>
       </el-table-column>
-      <el-table-column prop="partnerCompaniesName" label="合作公司" width="100" align="center">
+      <el-table-column prop="partnerCompaniesName" label="合作公司" width="80" align="center">
         <template slot-scope="scope">
           <span>{{ scope.row.partnerCompaniesName ? scope.row.partnerCompaniesName : "--" }}</span>
         </template>
@@ -258,8 +258,8 @@
         </template>
       </el-table-column>
 
-      <el-table-column prop="createtime" label="录单日期" align="center" width="200"></el-table-column>
-      <el-table-column prop="insureTime" label="承保确认时间" align="center" width="200"></el-table-column>
+      <el-table-column prop="createtime" label="录单日期" align="center" width="150"></el-table-column>
+      <el-table-column prop="insureTime" label="承保确认时间" align="center" width="150"></el-table-column>
 
       <el-table-column label="操作" align="center" fixed="right" min-width="250">
         <template slot-scope="scope">
@@ -290,14 +290,7 @@
         </div>
         <div class="ORcode">
           <div style="padding: 13px; position: relative">
-            <div v-if="['大家财险', '中煤财险', '华泰财险'].includes(inscompany)">
-              <div v-if="apiType == 1" id="qrcode" ref="qrcode"></div>
-              <img v-else :src="paycodeimg" alt style="width: 100%" />
-            </div>
-            <div v-else>
-              <img v-if="['太平财险', '诚泰财险'].includes(inscompany)" :src="paycodeimg" alt style="width: 100%" />
-              <div v-else id="qrcode" ref="qrcode"></div>
-            </div>
+              <div  id="qrcode" ref="qrcode"></div>
           </div>
         </div>
         <img style="margin-left: -16px" src="../../../assets/image/divider.png" alt />
@@ -373,14 +366,7 @@
           <div>商业险:{{ sypremium }}</div>
           <div>驾意险:{{ jypremium }}</div>
         </div>
-        <div v-if="['大家财险', '中煤财险', '华泰财险'].includes(inscompany)">
-          <div v-if="apiType == 1" id="qrcode" ref="qrcode"></div>
-          <img v-else :src="paycodeimg" alt style="width: 100%" />
-        </div>
-        <div v-else>
-          <img v-if="['太平财险', '诚泰财险'].includes(inscompany)" :src="paycodeimg" alt style="width: 200px; height: 200px" />
-          <div v-else id="qrcode" ref="qrcode"></div>
-        </div>
+          <div  id="qrcode" ref="qrcode"></div>
         <div class="scan-code">
           <div>保险公司:{{ inscompany }}</div>
           <div>车牌号:{{ licenseNo }}</div>
@@ -884,7 +870,7 @@ export default {
       productsTypeoptions: [],
       InsInsuranceKindoptions: [],
       width: document.documentElement.clientWidth,
-      tabelHeight: document.documentElement.clientHeight - 390,
+      tabelHeight: document.documentElement.clientHeight - 440,
       insAreaCompanyList: [], //子订单list
       companyList: [], //保险公司
       querystatusLoaing: false,
@@ -966,7 +952,7 @@ export default {
       this.companyList = res.data;
     });
 
-    this.$api.insCompany.dicType("InsOrderStatusAll").then((res) => {
+    this.$api.insCompany.dicType("insOrderStatusAll").then((res) => {
       this.optionsStatusAll = res.data.ddList;
     });
     this.$api.insCompany.dicType("insOrderStatus").then((res) => {
@@ -1690,7 +1676,7 @@ export default {
           }
         });
       }
-      
+
       if (item.inscompany == "中煤财险") {
         // 中煤财险: "paymentEnquiry",
         let ZMApiType =
@@ -1782,55 +1768,7 @@ export default {
                 this.codedialogVisible = true;
               }
               this.$nextTick(function () {
-                if (item.inscompany == "太平财险" || item.inscompany == "诚泰财险") {
-                  let anresult = qrCodeUrl.replace(/[\r\n]/g, "");
-                  let animgBase64 = `data:image/png;base64,${anresult}`;
-                  base64ToPath(animgBase64).then((path) => {
-                    this.paycodeimg = path;
-                  });
-                } else if (item.inscompany == "华泰财险") {
-                  switch (item.apiType) {
-                    case 1:
-                      this.creatQrCode(qrCodeUrl);
-                      break;
-                    case 2:
-                      let anresult = qrCodeUrl.replace(/[\r\n]/g, "");
-                      let animgBase64 = `data:image/png;base64,${anresult}`;
-                      base64ToPath(animgBase64).then((path) => {
-                        console.log(path)
-                        this.paycodeimg = path;
-                      });
-                      break;
-                  }
-                } else if (item.inscompany == "大家财险") {
-                  switch (item.apiType) {
-                    case 1:
-                      this.creatQrCode(qrCodeUrl);
-                      break;
-                    case 2:
-                      let anresult = qrCodeUrl.replace(/[\r\n]/g, "");
-                      let animgBase64 = `data:image/png;base64,${anresult}`;
-                      base64ToPath(animgBase64).then((path) => {
-                        this.paycodeimg = path;
-                      });
-                      break;
-                  }
-                } else if (item.inscompany == "中煤财险") {
-                  switch (item.apiType) {
-                    case 1:
-                      this.creatQrCode(qrCodeUrl);
-                      break;
-                    case 2:
-                      let anresult = qrCodeUrl.replace(/[\r\n]/g, "");
-                      let animgBase64 = `data:image/png;base64,${anresult}`;
-                      base64ToPath(animgBase64).then((path) => {
-                        this.paycodeimg = path;
-                      });
-                      break;
-                  }
-                } else {
-                  this.creatQrCode(qrCodeUrl);
-                }
+                this.creatQrCode(qrCodeUrl);
               });
             }
           });