Explorar el Código

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

baijunde hace 1 año
padre
commit
31b0b5314e

+ 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


+ 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',
+
+    })
+}
+

+ 38 - 3
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",
   })
 }
@@ -1874,4 +1909,4 @@ export const getAllRejectOrders = (data) => {
     method: "post",
     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));
+  });
+}
 
 /**
 * 加载动态菜单和路由

+ 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;

+ 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;

+ 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>

+ 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>