Selaa lähdekoodia

订单轨迹改版;想看详情页面改版

lihongxiao 2 vuotta sitten
vanhempi
commit
04008cb124

+ 2 - 2
config/dev.env.js

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

BIN
src/icon/down.png


Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 266 - 484
src/views/Letter/Letter.vue


+ 106 - 633
src/views/Letter/Orderlist.vue

@@ -456,594 +456,14 @@
       </span>
     </el-dialog>
     <!-- 车辆报价新页面 -->
-    <el-dialog
-      title="车辆报价信息详情"
-      :visible.sync="quotedetailsdialogVisible"
-      width="90%"
-    >
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">报价信息</span>
-          </div>
-        </div>
-        <div style="padding: 20px; font-weight: bold; font-size: 20px">
-          <span>总保费</span>
-          <span style="color: #ff7612">¥{{ orderInfo.sumpremium }}</span>
-          <span style="padding-left: 20px">总费用</span>
-          <span style="color: #ff7612">
-            ¥{{
-              orderInfo.orderCommissionVo &&
-              orderInfo.orderCommissionVo.totalFeePremium
-                ? orderInfo.orderCommissionVo.totalFeePremium
-                : 0
-            }}</span
-          >
-        </div>
-        <div class="headers headers_Custom">
-          <el-row style="width: 100%">
-            <el-col :span="1"></el-col>
-            <el-col :span="5"
-              ><div v-show="orderInfo.jqpremium">
-                交强险金额:
-                <span> ¥{{ orderInfo.jqpremium }} </span>
-              </div></el-col
-            >
-            <el-col
-              :span="4"
-              v-if="
-                orderInfo.orderCommissionVo &&
-                orderInfo.orderCommissionVo.jqFeeRate
-              "
-              ><div>
-                手续费比例:
-                <span> {{ orderInfo.orderCommissionVo.jqFeeRate }}% </span>
-              </div></el-col
-            >
-            <el-col
-              :span="5"
-              v-if="
-                orderInfo.orderCommissionVo &&
-                orderInfo.orderCommissionVo.jqFeePremium
-              "
-              ><div>
-                手续费金额:
-                <span> ¥{{ orderInfo.orderCommissionVo.jqFeePremium }} </span>
-              </div></el-col
-            >
-            <el-col :span="6"
-              ><div v-show="orderInfo.jqstartdate">
-                交强险起保日期:
-                <span>{{ orderInfo.jqstartdate }}</span>
-              </div></el-col
-            >
-            <el-col :span="3"
-              ><div v-show="orderInfo.taxamount">
-                车船税:
-                <span>¥{{ orderInfo.taxamount }}</span>
-              </div></el-col
-            >
-          </el-row>
-        </div>
-        <div class="headers headers_Custom">
-          <el-row style="width: 100%">
-            <el-col :span="1"></el-col>
-            <el-col :span="5"
-              ><div v-show="orderInfo.sypremium">
-                商业险金额:
-                <span>¥{{ orderInfo.sypremium }}</span>
-              </div></el-col
-            >
-            <el-col
-              :span="4"
-              v-if="
-                orderInfo.orderCommissionVo &&
-                orderInfo.orderCommissionVo.syFeeRate
-              "
-              ><div>
-                手续费比例:
-                <span> {{ orderInfo.orderCommissionVo.syFeeRate }}% </span>
-              </div></el-col
-            >
-            <el-col
-              :span="5"
-              v-if="
-                orderInfo.orderCommissionVo &&
-                orderInfo.orderCommissionVo.syFeePremium
-              "
-              ><div>
-                手续费金额:
-                <span> ¥{{ orderInfo.orderCommissionVo.syFeePremium }} </span>
-              </div></el-col
-            >
-            <el-col :span="6"
-              ><div v-show="orderInfo.systartdate">
-                商业险起保日期:
-                <span>{{ orderInfo.systartdate }}</span>
-              </div></el-col
-            >
-            <el-col :span="3"></el-col>
-          </el-row>
-        </div>
-        <div class="headers headers_Custom">
-          <el-row style="width: 100%">
-            <el-col :span="1"></el-col>
-            <el-col :span="5" v-if="orderInfo.jypremium"
-              ><div>
-                驾意险:
-                <span>¥{{ orderInfo.jypremium }}</span>
-              </div></el-col
-            >
-            <el-col :span="18"></el-col>
-          </el-row>
-        </div>
-      </div>
-      <div class="Enclosure" v-if="orderInfo.extendInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">保费因素</span>
-          </div>
-        </div>
-        <el-descriptions size="small">
-          <el-descriptions-item label="评分">{{
-            orderInfo.extendInfo.score
-          }}</el-descriptions-item>
-          <el-descriptions-item label="交强类型评分">{{
-            orderInfo.extendInfo.jqScore
-          }}</el-descriptions-item>
-          <el-descriptions-item label="商业类型评分">{{
-            orderInfo.extendInfo.syScore
-          }}</el-descriptions-item>
-          <el-descriptions-item label="总赔付率">{{
-            orderInfo.extendInfo.lossRation
-          }}</el-descriptions-item>
-          <el-descriptions-item label="交强赔付率">{{
-            orderInfo.extendInfo.jqLossRation
-          }}</el-descriptions-item>
-          <el-descriptions-item label="商业赔付率">{{
-            orderInfo.extendInfo.syLossRation
-          }}</el-descriptions-item>
-          <el-descriptions-item label="出险信息">{{
-            orderInfo.extendInfo.accidentInfoStr
-          }}</el-descriptions-item>
-          <el-descriptions-item label="商业险折扣比例">{{
-            orderInfo.extendInfo.nirrratio
-          }}</el-descriptions-item>
-          <el-descriptions-item label="交强险折扣比例">{{
-            orderInfo.extendInfo.nirrratioCI
-          }}</el-descriptions-item>
-          <el-descriptions-item label="自主定价系数">{{
-            orderInfo.extendInfo.pricingAdjustValue
-          }}</el-descriptions-item>
-          <el-descriptions-item label="业务员交强险销售费用浮动率">
-            {{ orderInfo.extendInfo.jqFeeSaleChangeRateA4 }}
-          </el-descriptions-item>
-          <el-descriptions-item label="交强深度定价分档">{{
-            orderInfo.extendInfo.deepPriceGradeCI
-          }}</el-descriptions-item>
-          <el-descriptions-item label="业务员商业险销售费用浮动率">
-            {{ orderInfo.extendInfo.syFeeSaleChangeRateA4 }}
-          </el-descriptions-item>
-          <el-descriptions-item label="商业深度定价分档">{{
-            orderInfo.extendInfo.deepPriceGradeBI
-          }}</el-descriptions-item>
-        </el-descriptions>
-      </div>
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">车辆信息</span>
-          </div>
-        </div>
-        <el-descriptions size="small">
-          <el-descriptions-item label="车牌号">{{
-            orderInfo.carinfo.licenseNo
-          }}</el-descriptions-item>
-          <el-descriptions-item label="车辆识别代码">{{
-            orderInfo.carinfo.vinNo
-          }}</el-descriptions-item>
-          <el-descriptions-item label="品牌型号">{{
-            orderInfo.carinfo.modelcname
-          }}</el-descriptions-item>
-          <el-descriptions-item label="发动机号">{{
-            orderInfo.carinfo.engineNo
-          }}</el-descriptions-item>
-          <el-descriptions-item label="年款">{{
-            orderInfo.carinfo.caryear
-          }}</el-descriptions-item>
-          <el-descriptions-item label="座位数">{{
-            orderInfo.carinfo.seatCount
-          }}</el-descriptions-item>
-          <el-descriptions-item label="新车购置价">{{
-            orderInfo.carinfo.purchasePrice
-          }}</el-descriptions-item>
-          <el-descriptions-item label="使用性质">
-            {{orderInfo.carinfo.carnature  }}
-          </el-descriptions-item>
-          <el-descriptions-item label="注册日期">{{
-            orderInfo.carinfo.registerDate
-          }}</el-descriptions-item>
-          <el-descriptions-item label="发证日期">{{
-            orderInfo.carinfo.issueDate
-          }}</el-descriptions-item>
-          <el-descriptions-item label="是否过户">
-            {{ orderInfo.carinfo.transferFlag == true ? "是" : "否" }}
-          </el-descriptions-item>
-        </el-descriptions>
-      </div>
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">车主信息</span>
-          </div>
-        </div>
-        <el-descriptions size="small">
-          <el-descriptions-item label="车主姓名">{{
-            orderInfo.ownerinfo.name
-          }}</el-descriptions-item>
-          <el-descriptions-item label="证件类型">{{
-            orderInfo.ownerinfo.identifyType
-          }}</el-descriptions-item>
-          <el-descriptions-item label="身份证号">{{
-            orderInfo.ownerinfo.identifyNumber
-          }}</el-descriptions-item>
-          <el-descriptions-item label="手机号">{{
-            orderInfo.ownerinfo.mobile
-          }}</el-descriptions-item>
-          <el-descriptions-item label="地址">{{
-            orderInfo.ownerinfo.addr
-          }}</el-descriptions-item>
-          <el-descriptions-item label="电子邮箱">{{
-            orderInfo.ownerinfo.email
-          }}</el-descriptions-item>
-        </el-descriptions>
-      </div>
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">投保人信息</span>
-          </div>
-        </div>
-        <el-descriptions size="small">
-          <el-descriptions-item label="投保人姓名">{{
-            orderInfo.applyinfo.name
-          }}</el-descriptions-item>
-          <el-descriptions-item label="证件类型">
-            {{ orderInfo.applyinfo.identifyType }}</el-descriptions-item
-          >
-          <el-descriptions-item label="身份证号">{{
-            orderInfo.applyinfo.identifyNumber
-          }}</el-descriptions-item>
-          <el-descriptions-item label="手机号">{{
-            orderInfo.applyinfo.mobile
-          }}</el-descriptions-item>
-          <el-descriptions-item label="地址">{{
-            orderInfo.applyinfo.addr
-          }}</el-descriptions-item>
-          <el-descriptions-item label="电子邮箱">{{
-            orderInfo.applyinfo.email
-          }}</el-descriptions-item>
-        </el-descriptions>
-      </div>
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">被保人信息</span>
-          </div>
-        </div>
-        <el-descriptions size="small">
-          <el-descriptions-item label="被保人姓名">{{
-            orderInfo.insureinfo.name
-          }}</el-descriptions-item>
-          <el-descriptions-item label="证件类型">
-            {{ orderInfo.insureinfo.identifyType }}</el-descriptions-item
-          >
-          <el-descriptions-item label="身份证号">{{
-            orderInfo.insureinfo.identifyNumber
-          }}</el-descriptions-item>
-          <el-descriptions-item label="手机号">{{
-            orderInfo.insureinfo.mobile
-          }}</el-descriptions-item>
-          <el-descriptions-item label="地址">{{
-            orderInfo.insureinfo.addr
-          }}</el-descriptions-item>
-          <el-descriptions-item label="电子邮箱">{{
-            orderInfo.insureinfo.email
-          }}</el-descriptions-item>
-        </el-descriptions>
-      </div>
-
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">险种信息</span>
-          </div>
-        </div>
-        <div style="font-size: 12px">
-          <div
-            class="headers kindinfocss"
-            style="justify-content: space-around"
-          >
-            <span>商业险险别</span>
-            <span>保额(元)</span>
-            <span>保费(元)</span>
-          </div>
-          <div
-            class="headers kindinfocss"
-            style="color: rgb(255, 118, 18); justify-content: space-around"
-            v-for="(kindinfoitem, kindinfoindex) in orderInfo.kindinfo"
-            :key="kindinfoindex"
-          >
-            <template v-if="kindinfoitem.coveragePremium">
-              <span>{{ kindinfoitem.kindName }}</span>
-              <span
-                v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)"
-                >{{ kindinfoitem.unitAmount }}</span
-              >
-              <span
-                v-else-if="
-                  ['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)
-                "
-              >
-                {{ kindinfoitem.deductibleRate }}
-              </span>
-              <span v-else>{{ kindinfoitem.amount }}</span>
-              <span>{{ kindinfoitem.coveragePremium }}</span>
-            </template>
-          </div>
-        </div>
-      </div>
-      <div
-        class="Enclosure"
-        v-if="orderInfo.accidentInfo && orderInfo.accidentInfo.length > 0"
-      >
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">驾意险</span>
-          </div>
-        </div>
-        <div style="font-size: 12px">
-          <div class="jyxStyle" style="font-weight: bold; color: #333">
-            <span style="width: 50%; margin-left: 50px">产品</span>
-            <span style="width: 20%">份数</span>
-            <span style="width: 20%">价格</span>
-          </div>
-          <div
-            v-for="(kindinfoitem, kindinfoindex) in orderInfo.accidentInfo"
-            :key="kindinfoindex"
-          >
-            <div style="margin-top: 20px" class="jyxStyle">
-              <span style="width: 50%; margin-left: 50px">{{
-                kindinfoitem.projectName
-              }}</span>
-              <span style="width: 20%">{{
-                kindinfoitem.quantity ? kindinfoitem.quantity : "1"
-              }}</span>
-              <span style="width: 20%"
-                >{{ kindinfoitem.actualPremium }}/份</span
-              >
-            </div>
-          </div>
-        </div>
-      </div>
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">欠税明细</span>
-          </div>
-        </div>
-        <div style="font-size: 12px">
-          <div
-            class="headers kindinfocss"
-            style="justify-content: space-around"
-          >
-            <span>日期</span>
-            <span>欠费(元)</span>
-            <span>滞纳金(元)</span>
-          </div>
-          <div
-            class="headers kindinfocss"
-            style="color: rgb(255, 118, 18); justify-content: space-around"
-            v-for="(taxArrearsitem, taxArrearsindex) in orderInfo.taxArrears"
-            :key="taxArrearsindex"
-          >
-            <span>{{ taxArrearsitem.years }}</span>
-            <span>{{ taxArrearsitem.taxDefault }}</span>
-            <span>{{ taxArrearsitem.lateFee }}</span>
-          </div>
-        </div>
-      </div>
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">影像</span>
-          </div>
-        </div>
-        <div style="font-size: 12px; padding: 10px 0">
-          <div style="margin-bottom: 10px">
-            <el-row class="u-f-ac bodyTitle">
-              <label @click="pic1Control = !pic1Control">行驶证影像</label>
-            </el-row>
-            <el-row class="body" v-show="pic1Control">
-              <el-row style="padding: 10px">
-                <viewer :images="carImageList">
-                  <img
-                    class="imageStyle"
-                    v-for="(imageItem, imageIndex) in carImageList"
-                    :src="imageItem"
-                    :key="imageIndex"
-                  />
-                </viewer>
-              </el-row>
-            </el-row>
-          </div>
-          <div style="margin-bottom: 10px">
-            <el-row class="u-f-ac bodyTitle">
-              <label @click="pic2Control = !pic2Control">车主身份证影像</label>
-            </el-row>
-            <el-row class="body" v-show="pic2Control">
-              <el-row style="padding: 10px">
-                <viewer :images="ownerImageList">
-                  <img
-                    class="imageStyle"
-                    v-for="(imageItem, imageIndex) in ownerImageList"
-                    :src="imageItem"
-                    :key="imageIndex"
-                  />
-                </viewer>
-              </el-row>
-            </el-row>
-          </div>
-          <div style="margin-bottom: 10px">
-            <el-row class="u-f-ac bodyTitle">
-              <label @click="pic3Control = !pic3Control"
-                >投保人身份证影像</label
-              >
-            </el-row>
-            <el-row class="body" v-show="pic3Control">
-              <el-row style="padding: 10px">
-                <viewer :images="policyImageList">
-                  <img
-                    class="imageStyle"
-                    v-for="(imageItem, imageIndex) in policyImageList"
-                    :src="imageItem"
-                    :key="imageIndex"
-                  />
-                </viewer>
-              </el-row>
-            </el-row>
-          </div>
-          <div style="margin-bottom: 10px">
-            <el-row class="u-f-ac bodyTitle">
-              <label @click="pic4Control = !pic4Control"
-                >被保人身份证影像</label
-              >
-            </el-row>
-            <el-row class="body" v-show="pic4Control">
-              <el-row style="padding: 10px">
-                <viewer :images="insuredImageList">
-                  <img
-                    class="imageStyle"
-                    v-for="(imageItem, imageIndex) in insuredImageList"
-                    :src="imageItem"
-                    :key="imageIndex"
-                  />
-                </viewer>
-              </el-row>
-            </el-row>
-          </div>
-          <div style="margin-bottom: 10px">
-            <el-row class="u-f-ac bodyTitle">
-              <label @click="pic5Control = !pic5Control">验车照影像</label>
-            </el-row>
-            <el-row class="body" v-show="pic5Control">
-              <el-row style="padding: 10px">
-                <viewer :images="carCheckImageList">
-                  <img
-                    class="imageStyle"
-                    v-for="(imageItem, imageIndex) in carCheckImageList"
-                    :src="imageItem"
-                    :key="imageIndex"
-                  />
-                </viewer>
-              </el-row>
-            </el-row>
-          </div>
-        </div>
-      </div>
-      <div class="Enclosure" v-if="orderInfo">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">投保单号</span>
-          </div>
-        </div>
-        <el-descriptions size="small" :column="2">
-          <el-descriptions-item label="交强险投保单号">{{
-            orderInfo.jqapplyno
-          }}</el-descriptions-item>
-          <el-descriptions-item label="商业险投保单号">{{
-            orderInfo.syapplyno
-          }}</el-descriptions-item>
-          <el-descriptions-item label="交强险保单号">{{
-            orderInfo.jqpolicyno
-          }}</el-descriptions-item>
-          <el-descriptions-item label="商业险保单号">{{
-            orderInfo.sypolicyno
-          }}</el-descriptions-item>
-        </el-descriptions>
-      </div>
-      <div class="Enclosure" v-if="orderInfo && orderInfo.orderstatus == 4">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">审核意见</span>
-          </div>
-        </div>
-        <div style="font-size: 12px; padding: 10px 50px">
-          {{ orderInfo.auditopinion }}
-        </div>
-      </div>
-      <div class="Enclosure" v-if="orderInfo && orderInfo.orderstatus == 3">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/company.png" alt class="icon-img" />
-            <span style="margin-left: 10px">电子保单</span>
-          </div>
-        </div>
-        <el-row class="body" style="padding: 10px 20px">
-          <el-row
-            v-for="(oldfileItem, oldfileIndex) in oldfileList"
-            :key="oldfileIndex"
-          >
-            <el-col :span="2" style="margin-right: 15px">
-              <label>{{ oldfileItem.fileTitle }}:</label>
-            </el-col>
-            <el-col :span="6" class="u-f u-f-column">
-              <div class="u-f u-f-jsb u-f-ac" style="width: 170px">
-                <div
-                  style="
-                    height: 36px;
-                    line-height: 36px;
-                    width: 200px;
-                    overflow: hidden;
-                    white-space: nowrap;
-                    text-overflow: ellipsis;
-                  "
-                >
-                  {{ licenseNo }}
-                </div>
-                <el-button
-                  style="cursor: pointer"
-                  type="text"
-                  @click="viewfile(oldfileItem)"
-                  >下载
-                </el-button>
-              </div>
-            </el-col>
-          </el-row>
-        </el-row>
-      </div>
-      <span slot="footer" class="dialog-footer">
-        <el-button size="small" @click="quotedetailsdialogVisible = false"
-          >关闭</el-button
-        >
-      </span>
-    </el-dialog>
+    <detailsDialog ref="detailsDialog" :orderInfo="orderInfo"></detailsDialog>
     <!-- 订单轨迹 -->
-    <el-dialog :visible.sync="ddgjdialogVisible">
+    <el-dialog :visible.sync="ddgjdialogVisible" width="430px">
+      <div slot="title" class=" dialog-title">
+        <span>订单轨迹</span>
+      </div>
       <div style="height: 300px; overflow-y: auto">
-        <el-steps direction="vertical" :active="trajectoryTable.length - 1">
+        <el-steps direction="vertical" :active="trajectoryTable.length - 1" >
           <el-step
             :title="item.orderStatus | cap"
             :key="item.id"
@@ -1052,7 +472,7 @@
             <template slot="description">
               <span>保险公司:{{ item.insCompany }}</span>
               <span>提交人:{{ item.operator }}</span>
-              <span>创建时间:{{ item.createTime }}</span>
+              <div>创建时间:{{ item.createTime }}</div>
             </template>
           </el-step>
         </el-steps>
@@ -1060,17 +480,13 @@
     </el-dialog>
     <!-- 报价历史 -->
     <el-dialog
-      title="报价历史"
       :visible.sync="quotationhistorydialogVisible"
       width="90%"
     >
-      <div class="Enclosure flex f-c">
-        <div class="home flex j-s a-c back">
-          <div class="flex j-s a-c color">
-            <img src="../../../src/icon/salesman.png" alt class="icon-img" />
-            <span style="margin-left: 10px">报价历史</span>
-          </div>
-        </div>
+    <div slot="title" class=" dialog-title">
+        <img src="../../../src/icon/归属信息.png" alt class="icon-img" />
+        <span>报价历史</span>
+      </div>
         <div style="padding: 20px">
           <el-table
             size="small"
@@ -1081,8 +497,6 @@
             v-loading="loading"
             :header-cell-style="{
               background: '#F2F7FC',
-              fontWeight: '700',
-              color: '#D42426 ',
             }"
             highlight-current-row
           >
@@ -1128,15 +542,8 @@
             ></el-table-column>
             <el-table-column prop="orderstatus" label="状态" align="center">
               <template slot-scope="scope">
-                <el-tag :type="capType(scope.row.orderstatus)" size="small">{{
-                  scope.row.orderstatus | cap
-                }}</el-tag>
-
-                <!-- <el-tag v-if="scope.row.orderstatus == '0'" type="success" size="small">报价中</el-tag>
-                <el-tag v-if="scope.row.orderstatus == '1'" type="warning" size="small">待核保</el-tag>
-                <el-tag v-if="scope.row.orderstatus == '2'" type="danger" size="small">已核保待缴费</el-tag>
-                <el-tag v-if="scope.row.orderstatus == '3'" type="danger" size="small">已承保</el-tag>
-                <el-tag v-if="scope.row.orderstatus == '4'" type="danger" size="small">核保退回</el-tag> -->
+                <el-tag  style="color:#33A08D;border-color:#33A08D;background: rgba(51,160,141,0.1);"  v-if="scope.row.orderstatus=='0'||scope.row.orderstatus=='1'" size="small">{{scope.row.orderstatus | cap}}</el-tag>
+              <el-tag type="danger" v-else  size="small">{{scope.row.orderstatus | cap}}</el-tag>
               </template>
             </el-table-column>
             <el-table-column
@@ -1149,13 +556,13 @@
                 <el-button
                   type="text"
                   size="small"
+                  style="color:#2D4D89 "
                   @click="OrderDetails(quotationhistoryRow, scope.row)"
                   >查看详情</el-button
                 >
                 <el-button
                   size="small"
                   type="text"
-                  style="color: rgb(240, 12, 10)"
                   @click="bjdpreview(scope.row.id)"
                   >报价单</el-button
                 >
@@ -1163,7 +570,6 @@
                   size="small"
                   v-show="scope.row.orderstatus == '2'"
                   type="text"
-                  style="color: rgb(240, 12, 10)"
                   @click="carcode(quotationhistoryRow, scope.row)"
                   >付款码</el-button
                 >
@@ -1175,12 +581,12 @@
                     ['紫金财险'].includes(scope.row.inscompany)
                   "
                   @click="cancelorder(scope.row)"
-                  style="color: #f56c6c"
                   >撤单</el-button
                 >
                 <el-button
                   type="text"
                   size="mini"
+                  style="color:#2D4D89 "
                   v-if="scope.row.orderstatus == '2'"
                   @click="revokeCode(scope.row.id)"
                   >撤销二维码</el-button
@@ -1188,7 +594,7 @@
                 <el-button
                   type="text"
                   size="mini"
-                  style="color: rgb(247, 191, 32)"
+                  style="color:#2D4D89 "
                   v-if="
                     scope.row.orderstatus == '2' &&
                     [
@@ -1213,7 +619,6 @@
             </el-table-column>
           </el-table>
         </div>
-      </div>
     </el-dialog>
     <!-- 报价单 -->
     <quotationDialog ref="quotationDialog" :queryOrders="queryOrders"></quotationDialog>
@@ -1226,6 +631,7 @@ import CommonUtil from "@/utils/comutil.js";
 import Cookies from "js-cookie";
 import QRCode from "qrcodejs2";
 import quotationDialog from './components/quotationDialog.vue'
+import detailsDialog from './components/detailsDialog.vue'
 export default {
   data() {
     return {
@@ -1236,7 +642,6 @@ export default {
       value2: "",
       optionsStatus: [],
       codedialogVisible: false,
-      quotedetailsdialogVisible: false,
       loading: false,
       pageNum: 1, //页数
       pageSize: 20, //条数
@@ -1308,7 +713,7 @@ export default {
       natureOfVehicleUseoptions:[],
     };
   },
-  components:{quotationDialog},
+  components:{quotationDialog,detailsDialog},
   created() {
     this.getDicType("natureOfVehicleUse");//车辆使用性质
     this.$api.letter.gainTopList().then((res) => {
@@ -1828,6 +1233,7 @@ export default {
       this.policyImageList = []; //投保人影像
       this.insuredImageList = []; //被保人影像
       this.carCheckImageList = []; //验车照影像
+
       // 影像控制
       this.pic1Control = false;
       this.pic2Control = false;
@@ -1920,11 +1326,26 @@ export default {
                       ? this.insuredImageList.push(resImage.data[keys].url)
                       : "";
                     break;
+                  case "XC00":
+                  case "GC00":
+                  case "GX00":
+                    resImage.data[keys].url
+                      ? this.carCheckImageList.push(resImage.data[keys].url)
+                      : "";
+                    break;
                   default:
                     break;
                 }
               }
             });
+            let obj={
+            carImageList:this.carImageList,
+            ownerImageList:this.ownerImageList,
+            policyImageList:this.policyImageList,
+            insuredImageList:this.insuredImageList,
+            carCheckImageList:this.carCheckImageList
+          }
+          this.$refs.detailsDialog.imageFun(obj);
           });
           this.pic1Control = false;
           this.pic2Control = false;
@@ -1932,6 +1353,8 @@ export default {
           this.pic4Control = false;
           this.pic5Control = false;
           this.oldfileList = [];
+          let businessList=[]
+          let accidentList=[]
           if (res.data.orderstatus == "3") {
             switch (res.data.inscompany) {
               case "永安财险":
@@ -1992,7 +1415,7 @@ export default {
                         let pdfBase64 = `data:application/pdf;base64,${result}`;
                         base64ToPath(pdfBase64).then((path) => {
                           if (path) {
-                            this.oldfileList.push({
+                            businessList.push({
                               fileTitle: "商业电子保单",
                               filename: this.orderInfo.sypolicyno,
                               fileurl: path,
@@ -2041,7 +1464,7 @@ export default {
                     })
                     .then((res) => {
                       if (res.data && res.data.syxPolicyUrl) {
-                        this.oldfileList.push({
+                        businessList.push({
                           fileTitle: "商业电子保单",
                           filename: this.orderInfo.sypolicyno,
                           fileurl: res.data.syxPolicyUrl,
@@ -2098,7 +1521,7 @@ export default {
                     })
                     .then((res) => {
                       if (res.data && res.data[0]) {
-                        this.oldfileList.push({
+                        businessList.push({
                           fileTitle: "商业电子保单",
                           filename: this.orderInfo.sypolicyno,
                           fileurl: res.data[0],
@@ -2119,7 +1542,7 @@ export default {
                       })
                       .then((res) => {
                         if (res.code == 200 && res.data) {
-                          this.oldfileList.push({
+                          accidentList.push({
                             fileTitle: "驾意险保单",
                             filename: this.orderInfo.sypolicyno,
                             fileurl: res.data[0],
@@ -2169,7 +1592,7 @@ export default {
                     })
                     .then((res) => {
                       if (res.data && res.data.syUrl) {
-                        this.oldfileList.push({
+                        businessList.push({
                           fileTitle: "商业电子保单",
                           filename: this.orderInfo.sypolicyno,
                           fileurl: res.data.syUrl,
@@ -2190,7 +1613,7 @@ export default {
                       })
                       .then((res) => {
                         if (res.code == 200 && res.data) {
-                          this.oldfileList.push({
+                          accidentList.push({
                             fileTitle: "驾意险保单",
                             filename: ele.policyNumber,
                             fileurl: res.data.jyUrl,
@@ -2248,7 +1671,7 @@ export default {
                     })
                     .then((res) => {
                       if (res.data) {
-                        this.oldfileList.push({
+                        businessList.push({
                           fileTitle: "商业电子保单",
                           filename: this.orderInfo.sypolicyno,
                           fileurl: res.data,
@@ -2270,7 +1693,7 @@ export default {
                       })
                       .then((res) => {
                         if (res.data) {
-                          this.oldfileList.push({
+                          accidentList.push({
                             fileTitle: "驾意险保单",
                             filename: ele.policyNumber,
                             fileurl: res.data,
@@ -2328,7 +1751,7 @@ export default {
                     })
                     .then((res) => {
                       if (res.data) {
-                        this.oldfileList.push({
+                        businessList.push({
                           fileTitle: "商业电子保单",
                           filename: this.orderInfo.sypolicyno,
                           fileurl: res.data,
@@ -2349,7 +1772,7 @@ export default {
                       })
                       .then((res) => {
                         if (res.data) {
-                          this.oldfileList.push({
+                          accidentList.push({
                             fileTitle: "驾意险保单",
                             filename: ele.policyNumber,
                             fileurl: res.data,
@@ -2389,7 +1812,7 @@ export default {
                           });
                         }
                         if (res.data.syxPolicyUrl) {
-                          this.oldfileList.push({
+                          businessList.push({
                             fileTitle: "商业电子保单",
                             filename: this.orderInfo.sypolicyno,
                             fileurl: res.data.syxPolicyUrl,
@@ -2400,9 +1823,9 @@ export default {
                           res.data.jyxInfoList.length > 0
                         ) {
                           res.data.jyxInfoList.forEach((val) => {
-                            this.oldfileList.push({
+                            accidentList.push({
                               fileTitle: "驾意险保单",
-                              filename: "xxxxxxxxxxxxxxxxxxxxxx",
+                              filename: "驾意险保单",
                               fileurl: val.jyx_policy_url,
                             });
                           });
@@ -2459,7 +1882,7 @@ export default {
                     })
                     .then((res) => {
                       if (res.data) {
-                        this.oldfileList.push({
+                        businessList.push({
                           fileTitle: "商业电子保单",
                           filename: this.orderInfo.sypolicyno,
                           fileurl: res.data,
@@ -2478,7 +1901,7 @@ export default {
                       })
                       .then((res) => {
                         if (res.data) {
-                          this.oldfileList.push({
+                          accidentList.push({
                             fileTitle: "驾意险保单",
                             filename: ele.policyNumber,
                             fileurl: res.data,
@@ -2492,11 +1915,16 @@ export default {
                 break;
               default:
             }
+            let obj={
+              oldfileList:this.oldfileList,
+              businessList,
+              accidentList
+            }
+          this.$refs.detailsDialog.warrantyFun(obj);
           }
 
           this.showInsureList = false;
-          this.quotedetailsdialogVisible = true; //在页面上显示订单
-
+          this.$refs.detailsDialog.setBackupVisible(true)
         } else {
           this.$message.error("订单获取失败");
         }
@@ -2779,7 +2207,7 @@ export default {
   }
 }
 </style>
-<style scoped>
+<style scoped lang="scss">
 #qqq {
   background-color: #111;
   width: 300px;
@@ -2990,9 +2418,9 @@ export default {
   margin: 0 10px;
 }
 .icon-img {
-  display: block;
   width: 30px;
-  height: 30px;
+     height: 30px;
+     vertical-align: bottom
 }
 .Enclosure {
   width: 100%;
@@ -3111,4 +2539,49 @@ export default {
   text-align: center;
 }
 
+
+/* .el-step__description{
+  color:#333
+} */
+/deep/{
+  .el-step__title,.el-step__icon-inner{
+    color:var(--themeColor)
+  }
+  .el-step__description.is-finish, .el-step__head.is-finish{
+    color: #333;
+    border:none
+  }
+  .el-step__icon.is-text{
+    border:none;
+    box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.1);
+  }
+  .el-step__icon.is-text{
+    font-size: 22px;
+  }
+  .el-step__icon{
+    width:28px;
+    height:28px;
+  }
+  .el-step.is-vertical .el-step__main{
+    padding-left:20px
+  }
+  .el-step__line,.el-step.is-vertical .el-step__line{
+    left: 14px;
+    background-color:#E2E5EB;
+    width:1px
+  }
+  .el-step__line-inner{
+      height:0;
+      display:none
+    }
+  .is-flex{
+  
+    .el-step__icon{
+      background: var(--themeColor)
+    }
+    .el-step__icon-inner{
+      color: #fff;
+    }
+  }
+}
 </style>

+ 507 - 0
src/views/Letter/components/detailsDialog.vue

@@ -0,0 +1,507 @@
+<template>
+  <el-dialog :visible.sync="dialogVisible" width="1200px" class="details_style">
+      <div slot="title" class=" dialog-title details-title">
+        <img src="../../../icon/归属信息.png" alt class="icon-img" />
+        <span>车辆报价信息详情</span>
+      </div>
+      <div class="details-body">
+        <OpenCloseBox >
+        <span slot="title">公司信息</span>
+        <div slot="boby">
+            <div class="  quotation-style">
+                <b>险种</b>
+                <b>起保日期</b>
+                <b>手续费比例</b>
+                <b>手续费金额</b>
+                <b>保费金额</b>
+                <span>交强险</span>
+                <span>{{ orderInfo.jqstartdate?orderInfo.jqstartdate:'/' }}</span>
+                <span>{{ orderInfo.orderCommissionVo &&orderInfo.orderCommissionVo.jqFeeRate?'%'+ orderInfo.orderCommissionVo.jqFeeRate:'/' }}</span>
+                <span>{{orderInfo.orderCommissionVo && orderInfo.orderCommissionVo.jqFeePremium ?'¥'+orderInfo.orderCommissionVo.jqFeePremium:'/'}}</span>
+                <span>{{orderInfo.jqpremium ?'¥'+orderInfo.jqpremium :'/'}}</span>
+                <span>商业险</span>
+                <span>{{ orderInfo.systartdate?orderInfo.systartdate:'/' }}</span>
+                <span>{{ orderInfo.orderCommissionVo &&orderInfo.orderCommissionVo.syFeeRate?'%'+orderInfo.orderCommissionVo.syFeeRate :'/'  }}</span>
+                <span> {{ orderInfo.orderCommissionVo && orderInfo.orderCommissionVo.syFeePremium ?'¥'+ orderInfo.orderCommissionVo.syFeePremium:'/'}}</span>
+                <span>{{ orderInfo.sypremium ? '¥'+ orderInfo.sypremium :'/'}}</span>
+                <span>车船税</span>
+                <span>/</span>
+                <span>/</span>
+                <span>/</span>
+                <span>¥{{ orderInfo.taxamount }}</span>
+                <span>驾意险</span>
+                <span>/</span>
+                <span>/</span>
+                <span>/</span>
+                <span>{{orderInfo.jypremium? '¥'+orderInfo.jypremium :'/'}}</span>
+                <span>总计</span>
+                <span>/</span>
+                <span>/</span>
+                <span class="themeColor" style="font-weight: bold;">¥{{orderInfo.orderCommissionVo&&orderInfo.orderCommissionVo.totalFeePremium?orderInfo.orderCommissionVo.totalFeePremium:0 }}</span>
+                <span class="themeColor" style="font-weight: bold;">¥{{ orderInfo.sumpremium }}</span>
+            </div>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox >
+            <span slot="title">保费因素</span>
+            <div slot="boby">
+                <el-row  class="premium-style " :gutter="20">
+                    <el-col :span="6"><span>评分:</span>{{ orderInfo.extendInfo.score }}</el-col>
+                    <el-col :span="6"><span>总赔付率:</span>{{ orderInfo.extendInfo.lossRation }}</el-col>
+                    <el-col :span="6"><span>出险信息:</span>{{ orderInfo.extendInfo.accidentInfoStr }}</el-col>
+                    <el-col :span="6"><span>自主定价系数:</span>{{ orderInfo.extendInfo.pricingAdjustValue }}</el-col>
+                </el-row>
+                <el-row  class="premium-style " :gutter="20">
+                    <el-col :span="6"><span>交强类型评分:</span>{{ orderInfo.extendInfo.jqScore }}</el-col>
+                    <el-col :span="6"><span>交强赔付率:</span>{{ orderInfo.extendInfo.jqLossRation }}</el-col>
+                    <el-col :span="6"><span>交强险折扣比例:</span>{{ orderInfo.extendInfo.nirrratioCI }}</el-col>
+                    <el-col :span="6"><span>业务员交强险销售费用浮动率:</span>{{ orderInfo.extendInfo.jqFeeSaleChangeRateA4 }}</el-col>
+                </el-row>
+                <el-row  class="premium-style " :gutter="20">
+                    <el-col :span="6"><span>商业类型评分:</span>{{ orderInfo.extendInfo.syScore }}</el-col>
+                    <el-col :span="6"><span>商业赔付率:</span>{{ orderInfo.extendInfo.syLossRation }}</el-col>
+                    <el-col :span="6"><span>商业险折扣比例:</span>{{ orderInfo.extendInfo.nirrratio }}</el-col>
+                    <el-col :span="6"><span>业务员商业险销售费用浮动率:</span>{{ orderInfo.extendInfo.syFeeSaleChangeRateA4 }}</el-col>
+                </el-row>
+                <el-row  class="premium-style " :gutter="20">
+                    <el-col :span="6"><span>交强深度定价分档:</span>{{ orderInfo.extendInfo.deepPriceGradeCI }}</el-col>
+                    <el-col :span="6"><span>商业深度定价分档:</span>{{ orderInfo.extendInfo.deepPriceGradeBI }}</el-col>
+                </el-row>
+            </div>
+        </OpenCloseBox>
+        <OpenCloseBox >
+            <span slot="title">车辆信息</span>
+            <div slot="boby">
+                <el-row  class="premium-style " :gutter="20">
+                    <el-col :span="6"><span>车牌号:</span>{{ orderInfo.carinfo.licenseNo }}</el-col>
+                    <el-col :span="6"><span>车辆识别代码:</span>{{ orderInfo.carinfo.vinNo }}</el-col>
+                    <el-col :span="6"><span>品牌型号:</span>{{ orderInfo.carinfo.modelcname }}</el-col>
+                    <el-col :span="6"><span>发动机号:</span>{{ orderInfo.carinfo.engineNo }}</el-col>
+                </el-row>
+                <el-row  class="premium-style " :gutter="20">
+                    <el-col :span="6"><span>年款:</span>{{ orderInfo.carinfo.caryear }}</el-col>
+                    <el-col :span="6"><span>座位数:</span>{{ orderInfo.carinfo.seatCount }}</el-col>
+                    <el-col :span="6"><span>新车购置价:</span>{{ orderInfo.carinfo.purchasePrice }}</el-col>
+                    <el-col :span="6"><span>使用性质:</span>{{ orderInfo.carinfo.carnature }}</el-col>
+                </el-row>
+                <el-row  class="premium-style " :gutter="20">
+                    <el-col :span="6"><span>注册日期:</span>{{ orderInfo.carinfo.registerDate }}</el-col>
+                    <el-col :span="6"><span>发证日期:</span>{{ orderInfo.carinfo.issueDate }}</el-col>
+                    <el-col :span="6"><span>是否过户:</span>{{ orderInfo.carinfo.transferFlag == true ? "是" : "否" }}</el-col>
+                </el-row>
+            </div>
+        </OpenCloseBox>
+        <OpenCloseBox >
+            <span slot="title">投保信息</span>
+            <div slot="boby">
+                <el-tabs v-model="activeName" >
+                    <el-tab-pane label="车主信息" name="1">
+                        <el-row  class="premium-style" :gutter="20">
+                            <el-col :span="6"><span>车主姓名:</span>{{ orderInfo.ownerinfo.name }}</el-col>
+                            <el-col :span="6"><span>证件类型:</span>{{ orderInfo.ownerinfo.identifyType }}</el-col>
+                            <el-col :span="6"><span>身份证号:</span>{{ orderInfo.ownerinfo.identifyNumber }}</el-col>
+                            <el-col :span="6"><span>手机号:</span>{{ orderInfo.ownerinfo.mobile }}</el-col>
+                        </el-row>
+                        <el-row  class="premium-style" :gutter="20">
+                            <el-col :span="6"><span>电子邮箱:</span>{{ orderInfo.ownerinfo.email?orderInfo.ownerinfo.email:'-' }}</el-col>
+                            <el-col :span="12"><span>地址:</span>{{ orderInfo.ownerinfo.addr }}</el-col>
+                        </el-row>
+                    </el-tab-pane>
+                    <el-tab-pane label="投保人信息" name="2">
+                        <el-row  class="premium-style" :gutter="20">
+                            <el-col :span="6"><span>投保人姓名:</span>{{ orderInfo.applyinfo.name}}</el-col>
+                            <el-col :span="6"><span>证件类型:</span>{{ orderInfo.applyinfo.identifyType }}</el-col>
+                            <el-col :span="6"><span>身份证号:</span>{{ orderInfo.applyinfo.identifyNumber }}</el-col>
+                            <el-col :span="6"><span>手机号:</span>{{ orderInfo.applyinfo.mobile }}</el-col>
+                        </el-row>
+                        <el-row  class="premium-style" :gutter="20">
+                            <el-col :span="6"><span>电子邮箱:</span>{{ orderInfo.applyinfo.email?orderInfo.applyinfo.email:'/' }}</el-col>
+                            <el-col :span="12"><span>地址:</span>{{ orderInfo.applyinfo.addr }}</el-col>
+                        </el-row>
+                    </el-tab-pane>
+                    <el-tab-pane label="被保人信息" name="3">
+                        <el-row  class="premium-style" :gutter="20">
+                            <el-col :span="6"><span>被保人姓名:</span>{{ orderInfo.insureinfo.name}}</el-col>
+                            <el-col :span="6"><span>证件类型:</span>{{ orderInfo.insureinfo.identifyType }}</el-col>
+                            <el-col :span="6"><span>身份证号:</span>{{ orderInfo.insureinfo.identifyNumber }}</el-col>
+                            <el-col :span="6"><span>手机号:</span>{{ orderInfo.insureinfo.mobile }}</el-col>
+                        </el-row>
+                        <el-row  class="premium-style" :gutter="20">
+                            <el-col :span="6"><span>电子邮箱:</span>{{ orderInfo.insureinfo.email?orderInfo.insureinfo.email:'/' }}</el-col>
+                            <el-col :span="12"><span>地址:</span>{{ orderInfo.insureinfo.addr }}</el-col>
+                        </el-row>
+                    </el-tab-pane>
+                </el-tabs>
+               
+            </div>
+        </OpenCloseBox>
+        <OpenCloseBox v-if="orderInfo.kindinfo &&  orderInfo.kindinfo.length>0">
+        <span slot="title">险种信息</span>
+        <div slot="boby">
+            <div class="quotation-style tax-arrears">
+                <b>商业险险别</b>
+                <b>保额(元)</b>
+                <b>保费(元)</b>
+                <div v-for="(kindinfoitem, kindinfoindex) in orderInfo.kindinfo"
+                    :key="kindinfoindex">
+                    <span >{{ kindinfoitem.kindName }}</span>
+                    <span
+                v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)"
+                >{{ kindinfoitem.unitAmount }}</span
+              >
+              <span
+                v-else-if="
+                  ['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)
+                "
+              >
+                {{ kindinfoitem.deductibleRate }}
+              </span>
+              <span v-else>{{ kindinfoitem.amount }}</span>
+              <span >{{ kindinfoitem.coveragePremium ?kindinfoitem.coveragePremium :'-' }}</span>
+                </div>
+            </div>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox  v-if=" orderInfo.accidentInfo &&  orderInfo.accidentInfo.length>0">
+        <span slot="title">驾意险</span>
+        <div slot="boby">
+            <div class="quotation-style driving-style">
+                <b>产品</b>
+                <b>份数</b>
+                <b>价格</b>
+                <div v-for="(kindinfoitem, taxArrearsindex) in orderInfo.accidentInfo"
+                    :key="taxArrearsindex">
+                    <span >{{ kindinfoitem.projectName }}</span>
+                    <span >{{ kindinfoitem.quantity ?kindinfoitem.quantity:'1' }}</span>
+                    <span >{{ kindinfoitem.actualPremium }}/份</span>
+                </div>
+            </div>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox  v-if=" orderInfo.taxArrears &&  orderInfo.taxArrears.length>0">
+        <span slot="title">欠税信息</span>
+        <div slot="boby">
+            <div class="quotation-style tax-arrears">
+                <b>日期</b>
+                <b>欠费(元)</b>
+                <b>滞纳金(元)</b>
+                <div v-for="(taxArrearsitem, taxArrearsindex) in orderInfo.taxArrears"
+                    :key="taxArrearsindex">
+                    <span >{{ taxArrearsitem.years }}</span>
+                    <span >{{ taxArrearsitem.taxDefault }}</span>
+                    <span >{{ taxArrearsitem.lateFee }}</span>
+                </div>
+            </div>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox v-if="Object.keys(obj).length!=0">
+        <span slot="title">影像资料</span>
+        <div slot="boby">
+            <el-row   :gutter="20">
+                <el-col :span="12">
+                    <h4>行驶证影像</h4>
+                    <viewer :images="obj.carImageList">
+                        <img
+                        class="imageStyle"
+                        v-for="(imageItem, imageIndex) in obj.carImageList"
+                        :src="imageItem"
+                        :key="imageIndex"
+                    />
+                     </viewer>
+                </el-col>
+                <el-col :span="12">
+                    <div v-if="obj.ownerImageList">
+                        <h4>车主身份证影像</h4>
+                        <viewer :images="obj.ownerImageList">
+                            <img
+                            class="imageStyle"
+                            v-for="(imageItem, imageIndex) in obj.ownerImageList"
+                            :src="imageItem"
+                            :key="imageIndex"
+                        />
+                        </viewer>
+                    </div>
+                    <div v-else>
+                        <h4>营业执照</h4>
+                        <img
+                        class="imageStyle"
+                        style="margin-right: 0;"
+                        />
+                    </div>
+                </el-col>
+            </el-row>
+            <el-row   :gutter="20">
+                <el-col :span="12">
+                    <div v-if="obj.policyImageList">
+                        <h4>投保人身份证影像</h4>
+                        <viewer :images="obj.policyImageList">
+                            <img
+                            class="imageStyle"
+                            v-for="(imageItem, imageIndex) in obj.policyImageList"
+                            :src="imageItem"
+                            :key="imageIndex"
+                        />
+                        </viewer>
+                    </div>
+                    <div v-else>
+                        <h4>营业执照</h4>
+                        <img
+                        class="imageStyle"
+                        style="margin-right: 0;"
+                        />
+                    </div>
+                </el-col>
+                <el-col :span="12">
+                    <div v-if="obj.insuredImageList">
+                        <h4>被保人身份证影像</h4>
+                        <viewer :images="obj.insuredImageList">
+                            <img
+                            class="imageStyle"
+                            v-for="(imageItem, imageIndex) in obj.insuredImageList"
+                            :src="imageItem"
+                            :key="imageIndex"
+                        />
+                        </viewer>
+                    </div>
+                    <div v-else>
+                        <h4>营业执照</h4>
+                        <img
+                        class="imageStyle"
+                        style="margin-right: 0;"
+                        />
+                    </div>
+                </el-col>
+            </el-row>
+            <el-row  :gutter="20" v-if="obj.carCheckImageList && obj.carCheckImageList.length>0">
+                <el-col :span="24">
+                    <h4>验车照影像</h4>
+                    <viewer :images="obj.carCheckImageList">
+                            <img
+                            class="imageStyle"
+                            v-for="(imageItem, imageIndex) in obj.carCheckImageList"
+                            :src="imageItem"
+                            :key="imageIndex"
+                        />
+                    </viewer>
+                </el-col>
+            </el-row>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox >
+        <span slot="title">投保单号</span>
+        <div slot="boby">
+            <el-row  class="premium-style " :gutter="20" style="font-size:13px">
+                <el-col :span="6"><span>交强险投保单号:</span>{{ orderInfo.jqapplyno }}</el-col>
+                <el-col :span="6"><span>交强险保单号:</span>{{ orderInfo.jqpolicyno}}</el-col>
+                <el-col :span="6"><span>商业险投保单号:</span>{{ orderInfo.syapplyno }}</el-col>
+                <el-col :span="6"><span>商业险保单号:</span>{{ orderInfo.sypolicyno }}</el-col>
+            </el-row>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox  v-if="orderInfo.orderFeeResult&&orderInfo.orderFeeResult.length>0">
+        <span slot="title">费用明细</span>
+        <div slot="boby"  style="font-size:12px;width: 100%" class="FeeEnclosure">
+         <el-table :data="orderInfo.orderFeeResult"   :border="true"    :stripe="true" size="mini"  
+         :header-cell-style="{ background: '#F7F7F9'}">
+            <el-table-column prop="feeTypeName" label="费用类型" width="10%"></el-table-column>
+            <el-table-column  label="交强险费用跟单明细" width="30%">
+              <el-table-column prop="jqFeeRateAll" label="手续费比例/跟单费比例/总比例" width="15%"></el-table-column>
+              <el-table-column prop="jqFeeAmountAll" label="手续费金额/跟单费金额/总金额" width="15%"></el-table-column>
+            </el-table-column>
+            <el-table-column  label="商业险费用跟单明细" width="30%">
+              <el-table-column prop="syFeeRateAll" label="手续费比例/跟单费比例/总比例" width="15%"></el-table-column>
+              <el-table-column prop="syFeeAmountAll" label="手续费金额/跟单费金额/总金额" width="15%"></el-table-column>
+            </el-table-column>
+            <el-table-column   label="非车险费用跟单明细" width="30%">
+              <el-table-column prop="fcFeeRate" label="比例" width="15%"></el-table-column>
+              <el-table-column prop="fcFeeAmount" label="金额" width="15%"></el-table-column>
+            </el-table-column>
+          </el-table>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox  v-if="orderInfo && orderInfo.orderstatus == 4 && orderInfo.auditopinion"  >
+        <span slot="title">审核意见</span>
+        <div slot="boby">
+            <p style=" padding: 10px 50px">
+                {{ orderInfo.auditopinion }}
+            </p>
+        </div>
+        </OpenCloseBox>
+        <OpenCloseBox   v-if="orderInfo && orderInfo.orderstatus == 3">
+        <span slot="title">电子保单</span>
+        <div slot="boby">
+            <el-row  class="premium-style " :gutter="20" >
+                <el-col :span="8" >
+                    <div  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>
+                    </div>
+                </el-col>
+                <el-col :span="8" >
+                    <div  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>
+                    </div>
+                </el-col>
+                <el-col :span="8" >
+                    <div  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>
+                    </div>
+                </el-col>
+            </el-row>
+        </div>
+        </OpenCloseBox>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button size="small" type="primary" plain @click="dialogVisible = false">关闭</el-button>
+    </span>
+  </el-dialog>
+</template>
+<script>
+import OpenCloseBox from './openclose.vue'
+
+export default {
+  name: "detailsDialog",
+  data() {
+    return {
+        activeName: '1',
+        dialogVisible:false,
+        obj:{},
+        warrantObj:{}
+    };
+  },
+  props:{
+    orderInfo:{
+        type:Object,
+        default:{}
+    },
+  
+  },
+  components:{OpenCloseBox},
+  methods: {
+    setBackupVisible: function (backupVisible) {
+        this.dialogVisible = backupVisible
+    },
+    imageFun(param){
+        this.obj=param
+    },
+    warrantyFun(param){
+        this.warrantObj=param
+
+    },
+    saveAs(blob, filename) {
+      var link = document.createElement("a");
+      link.href = window.URL.createObjectURL(blob);
+      link.target = "_ blank";
+      link.download = filename;
+      link.click();
+    },
+       //预览文件
+       viewfile(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>
+.icon-img{
+    width: 30px;
+     height: 30px;
+     vertical-align: bottom
+}
+.details-title{
+    font-weight: bold;
+    font-size: 16px;
+}
+.quotation-style{
+    font-size: 0;
+    b{
+        background: #F7F7F9 ;
+        font-size: 14px;
+    }
+    b,span{
+        display: inline-block;
+        box-sizing: border-box;
+        width: 20%;
+        text-align: center;
+        line-height: 40px;
+        border: 1px solid #EEF1F6 ;
+        font-size: 14px;
+    }
+}
+.premium-style{
+    div{
+        padding: 5px 0;
+    }
+    span{
+        color: #868B98;
+    }
+}
+.driving-style{
+     span:first-child{
+        width: 70%;
+    }
+    b:first-child{
+        width: 70%;
+    }
+    b,span{
+        width: 15%;
+    }   
+}
+.tax-arrears{
+    b,span{
+        width: 33.3%;
+    }
+}
+.imageStyle{
+    display: inline-block;
+    width: 120px;
+    height: 120px;
+    // box-shadow: #ddd 0px 0px 5px;
+    margin-right: 86px;
+    border: 1px dashed #CED4DA;
+    background: #F7F7F9;
+}
+.FeeEnclosure {
+  /deep/ table {
+    width: 100% !important;
+  }
+
+  /deep/ .cell {
+    text-align: center;
+  }
+
+  /deep/ .el-table__empty-block {
+    width: 100% !important;
+  }
+}
+/deep/ .el-dialog__body{
+        padding-top: 0;
+        border-bottom: 1px solid #EEF1F6 
+    }
+</style>

+ 75 - 0
src/views/Letter/components/openclose.vue

@@ -0,0 +1,75 @@
+<template>
+	<div class="openclose-box" :class="{'openclose-box-open':isOpen,'openclose-box-close':!isOpen}">
+        <div  class="openclose">
+            <div class="openclose-btn" @click="isOpen=!isOpen">
+                <slot name="title"></slot>
+                <img src="../../../icon/down.png" alt v-if="!isOpen" />
+                <img src="../../../icon/down.png" alt v-else class="retract" />
+            </div>
+		</div>
+		<div class="openclose-boby">
+			<slot name="boby"></slot>
+		</div>
+	</div>
+</template>
+<script>
+export default{
+	name:'OpenCloseBox',
+	props:{
+		open:{
+			type:Boolean,
+			default:false,
+		}
+	},
+	data(){
+		return{
+			isOpen:this.open
+		}
+	}
+}
+</script>
+<style lang="scss" scoped>
+.openclose-box{
+	.openclose-btn{
+		font-size:14px;
+		line-height:30px;
+		color:var(--themeColor);
+		display:flex;
+		align-items:center;
+		cursor:pointer;
+        justify-content: space-between;
+        padding-left: 10px;
+        border-left: 4px solid;
+       
+        img{
+            margin-right: 10px;
+        }
+	}
+}
+.openclose{
+    padding: 3px 0;
+    background: rgba(212, 36, 38, 0.06);
+}
+.openclose-box-open{
+	.openclose-boby{
+        display: none;
+    }
+    .openclose{
+        margin-bottom: 10px;
+	}
+}
+.openclose-box-close{
+	.openclose-boby{
+        display: block;
+		// height:56px;
+		// overflow:hidden;
+	}
+   
+}
+.retract{
+    transform: rotate(-90deg);
+}
+.openclose-boby{
+    padding: 10px 0;
+}
+</style>

+ 2 - 2
src/views/Letter/components/quotationDialog.vue

@@ -45,8 +45,8 @@
                 <li style="width: 100%;">
                     <span>车辆交强险保险期间:</span>{{ queryOrders.jqstartdate }} 至 {{ queryOrders.jqenddate }}
                 </li>
-                <li style="width: 100%;">
-                    <span>车辆商业险保险期间:</span>{{ queryOrders.systartdate }} 至 {{ queryOrders.syenddate }}
+                <li style="width: 100%;" v-if="queryOrders.systartdate &&queryOrders.syenddate">
+                    <span>车辆商业险保险期间:</span>{{ queryOrders.systartdat }} 至 {{ queryOrders.syenddate }}
                 </li>
             </div>
             <el-descriptions  :column="4" border direction="vertical">

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä