detailsDialogPro.vue 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928
  1. <template>
  2. <el-dialog :visible.sync="dialogVisible" width="80%" class="details_style">
  3. <div slot="title" class=" dialog-title details-title">
  4. <img src="../../../icon/归属信息.png" alt class="icon-img" />
  5. <span>车辆报价信息详情</span>
  6. </div>
  7. <div class="details-body flex">
  8. <div style="background-color: #fff;">
  9. <ul class="tabLeft">
  10. <li :class="{ 'li-selected': selectedItem === 'gsxx' }" @click="selectItem('gsxx')">归属信息</li>
  11. <li :class="{ 'li-selected': selectedItem === 'clxx' }" @click="selectItem('clxx')">车辆信息</li>
  12. <li :class="{ 'li-selected': selectedItem === 'czxx' }" @click="selectItem('czxx')">车主信息</li>
  13. <li :class="{ 'li-selected': selectedItem === 'tbrxx' }" @click="selectItem('tbrxx')">投保人信息</li>
  14. <li :class="{ 'li-selected': selectedItem === 'bbrxx' }" @click="selectItem('bbrxx')">被保人信息</li>
  15. <li :class="{ 'li-selected': selectedItem === 'cjxx' }" @click="selectItem('cjxx')">投保信息</li>
  16. <li v-if="orderInfo.taxArrears && orderInfo.taxArrears.length > 0"
  17. :class="{ 'li-selected': selectedItem === 'qsxx' }" @click="selectItem('qsxx')">欠税信息</li>
  18. <li :class="{ 'li-selected': selectedItem === 'bfys' }" @click="selectItem('bfys')">保费因素</li>
  19. <li v-if="orderInfo.kindinfo && orderInfo.kindinfo.length > 0"
  20. :class="{ 'li-selected': selectedItem === 'xzxx' }" @click="selectItem('xzxx')">险种信息</li>
  21. <li v-if="orderInfo.accidentInfo && orderInfo.accidentInfo.length > 0"
  22. :class="{ 'li-selected': selectedItem === 'jyx' }" @click="selectItem('jyx')">驾意险</li>
  23. <li :class="{ 'li-selected': selectedItem === 'yxzl' }" @click="selectItem('yxzl')"
  24. v-if="Object.keys(obj).length != 0">影像资料</li>
  25. <li v-if="orderInfo && orderInfo.orderstatus == 3" :class="{ 'li-selected': selectedItem === 'dzbd' }"
  26. @click="selectItem('dzbd')">保单信息</li>
  27. <li v-if="orderInfo.orderFeeResult && orderInfo.orderFeeResult.length > 0"
  28. :class="{ 'li-selected': selectedItem === 'fymx' }" @click="selectItem('fymx')">费用明细</li>
  29. <li v-if="orderInfo.feeOrderNewVo && orderInfo.feeOrderNewVo.deptManagerFee.length > 0"
  30. :class="{ 'li-selected': selectedItem === 'jgglf' }" @click="selectItem('jgglf')">机构管理费</li>
  31. <li v-if="orderInfo.feeOrderNewVo && orderInfo.feeOrderNewVo.retailFee && orderInfo.feeOrderNewVo.retailFee.length > 0"
  32. :class="{ 'li-selected': selectedItem === 'fxmx1' }" @click="selectItem('fxmx1')">分销明细</li>
  33. <li v-if="orderInfo && orderInfo.orderstatus == 4 && orderInfo.auditopinion"
  34. :class="{ 'li-selected': selectedItem === 'shyj' }" @click="selectItem('shyj')">审核意见</li>
  35. </ul>
  36. </div>
  37. <div style="margin:20px;height: 60vh;overflow-y: auto;width: 100%;">
  38. <ul class="fixedTop">
  39. <li>
  40. <div class="title">
  41. <div class="img"><img src="@/assets/image/detailsDialog_cph.png" alt=""></div>
  42. <p>车牌号:</p>
  43. </div>
  44. <p>{{ orderInfo.licenseno }}</p>
  45. </li>
  46. <li>
  47. <div class="title">
  48. <div class="img"><img src="@/assets/image/detailsDialog_gs.png" alt=""></div>
  49. <p>保险公司:</p>
  50. </div>
  51. <p>{{ orderInfo.inscompany }}</p>
  52. </li>
  53. <li>
  54. <div class="title">
  55. <div class="img"><img src="@/assets/image/detailsDialog_ly.png" alt=""></div>
  56. <p>业务来源:</p>
  57. </div>
  58. <p>{{ orderInfo.source }}</p>
  59. </li>
  60. </ul>
  61. <OpenCloseBox id="gsxx">
  62. <span slot="title">归属信息</span>
  63. <div slot="boby">
  64. <el-row class="premium-style " :gutter="20" >
  65. <el-col :span="6" v-if="orderInfo.province"><span>归属机构省:</span>{{ orderInfo.province }}</el-col>
  66. <el-col :span="6" v-if="orderInfo.city"><span>归属机构市:</span>{{ orderInfo.city }}</el-col>
  67. <el-col :span="6" v-if="orderInfo.prefecture"><span>归属机构区:</span>{{ orderInfo.prefecture }}</el-col>
  68. </el-row>
  69. <el-row class="premium-style " :gutter="20">
  70. <el-col :span="6"><span>本人工号:</span>{{ orderInfo.userid }}</el-col>
  71. <el-col :span="6"><span>本人姓名:</span>{{ orderInfo.username }}</el-col>
  72. <el-col :span="6"><span>联系方式:</span>{{ orderInfo.mobile }}</el-col>
  73. <el-col :span="6"><span>性别:</span>{{ orderInfo.sex }}</el-col>
  74. </el-row>
  75. <el-row class="premium-style " :gutter="20" >
  76. <el-col :span="6" v-if="orderInfo.referrerProvince"><span>推荐人归属机构省:</span>{{ orderInfo.referrerProvince }}</el-col>
  77. <el-col :span="6" v-if="orderInfo.referrerCity"><span>推荐人归属机构市:</span>{{ orderInfo.referrerCity }}</el-col>
  78. <el-col :span="6" v-if="orderInfo.referrerPrefecture"><span>推荐人归属机构区:</span>{{ orderInfo.referrerPrefecture }}</el-col>
  79. </el-row>
  80. <el-row class="premium-style " :gutter="20">
  81. <!-- <el-col v-if="orderInfo.referrerDeptAreaInfo" :span="24"><span>推荐人归属机构:</span>{{
  82. orderInfo.referrerDeptAreaInfo }}</el-col> -->
  83. <el-col :span="6"><span>推荐人工号:</span>{{ orderInfo.userid }}</el-col>
  84. <el-col :span="6"><span>推荐人姓名:</span>{{ orderInfo.username }}</el-col>
  85. <el-col :span="6"><span>联系方式:</span>{{ orderInfo.referrerMobile }}</el-col>
  86. <el-col :span="6"><span>性别:</span>{{ orderInfo.referrerSex }}</el-col>
  87. </el-row>
  88. </div>
  89. </OpenCloseBox>
  90. <OpenCloseBox id="clxx">
  91. <span slot="title">车辆信息</span>
  92. <div slot="boby">
  93. <el-row class="premium-style " :gutter="20">
  94. <el-col :span="6"><span>车牌号:</span>{{ orderInfo.carinfo.licenseNo }}</el-col>
  95. <el-col :span="6"><span>车辆识别代码:</span>{{ orderInfo.carinfo.vinNo }}</el-col>
  96. <el-col :span="6"><span>品牌型号:</span>{{ orderInfo.carinfo.modelcname }}</el-col>
  97. <el-col :span="6"><span>发动机号:</span>{{ orderInfo.carinfo.engineNo }}</el-col>
  98. </el-row>
  99. <el-row class="premium-style " :gutter="20">
  100. <el-col :span="6"><span>年款:</span>{{ orderInfo.carinfo.caryear }}</el-col>
  101. <el-col :span="6"><span>座位数:</span>{{ orderInfo.carinfo.seatCount }}</el-col>
  102. <el-col :span="6"><span>整备质量:</span>{{ orderInfo.carinfo.completeKerbMass }}</el-col>
  103. <el-col :span="6"><span>核定载质量:</span>{{ orderInfo.carinfo.limitLoad }}</el-col>
  104. </el-row>
  105. <el-row class="premium-style " :gutter="20">
  106. <el-col :span="6"><span>排量:</span>{{ orderInfo.carinfo.enginedesc }}</el-col>
  107. <el-col :span="6"><span>功率:</span>{{ orderInfo.carinfo.powerScale }}</el-col>
  108. <el-col :span="6"><span>新车购置价:</span>{{ orderInfo.carinfo.purchasePrice }}</el-col>
  109. <el-col :span="6"><span>使用性质:</span>{{ orderInfo.carinfo.carnature }}</el-col>
  110. </el-row>
  111. <el-row class="premium-style " :gutter="20">
  112. <el-col :span="6"><span>车辆用途:</span>{{ orderInfo.carinfo.vehicleUse }}</el-col>
  113. <el-col :span="6"><span>车辆类型:</span>{{ orderInfo.carinfo.cartype }}</el-col>
  114. <el-col :span="6"><span>车辆种类:</span>{{ orderInfo.carinfo.cimodelclass }}</el-col>
  115. <el-col :span="6"><span>能源种类:</span>{{ orderInfo.carinfo.energyType }}</el-col>
  116. </el-row>
  117. <el-row class="premium-style " :gutter="20">
  118. <el-col :span="6"><span>注册日期:</span>{{ orderInfo.carinfo.registerDate }}</el-col>
  119. <el-col :span="6"><span>发证日期:</span>{{ orderInfo.carinfo.issueDate }}</el-col>
  120. <el-col :span="6"><span>是否过户:</span>{{ orderInfo.carinfo.transferFlag == true ? "是" : "否" }}</el-col>
  121. <el-col :span="6"><span>转移登记日期:</span>{{ orderInfo.carinfo.transferDate }}</el-col>
  122. </el-row>
  123. <el-row class="premium-style " :gutter="20">
  124. <el-col :span="6"><span>商业险是否过户:</span>{{ orderInfo.carinfo.transferFlagBi == true ? "是" : "否" }}</el-col>
  125. <el-col :span="6"><span>是否脱保:</span>{{ orderInfo.carinfo.outOfInsurance == true ? "是" : "否" }}</el-col>
  126. <el-col :span="6"><span>是否二手车:</span>{{ orderInfo.carinfo.usedCar == true ? "是" : "否" }}</el-col>
  127. </el-row>
  128. </div>
  129. </OpenCloseBox>
  130. <OpenCloseBox id="czxx">
  131. <span slot="title">车主信息</span>
  132. <div slot="boby">
  133. <el-row class="premium-style" :gutter="20">
  134. <el-col :span="6"><span>车主姓名:</span>{{ orderInfo.ownerinfo.name }}</el-col>
  135. <el-col :span="6"><span>证件类型:</span>{{ orderInfo.ownerinfo.identifyType }}</el-col>
  136. <el-col :span="6"><span>身份证号:</span>{{ orderInfo.ownerinfo.identifyNumber }}</el-col>
  137. <el-col :span="6"><span>手机号:</span>{{ orderInfo.ownerinfo.mobile }}</el-col>
  138. </el-row>
  139. <el-row class="premium-style" :gutter="20">
  140. <el-col :span="6"><span>电子邮箱:</span>{{ orderInfo.ownerinfo.email ? orderInfo.ownerinfo.email : '-'
  141. }}</el-col>
  142. <el-col :span="12"><span>地址:</span>{{ orderInfo.ownerinfo.addr }}</el-col>
  143. </el-row>
  144. </div>
  145. </OpenCloseBox>
  146. <OpenCloseBox id="tbrxx">
  147. <span slot="title">投保人信息</span>
  148. <div slot="boby">
  149. <el-row class="premium-style" :gutter="20">
  150. <el-col :span="6"><span>投保人姓名:</span>{{ orderInfo.applyinfo.name }}</el-col>
  151. <el-col :span="6"><span>证件类型:</span>{{ orderInfo.applyinfo.identifyType }}</el-col>
  152. <el-col :span="6"><span>身份证号:</span>{{ orderInfo.applyinfo.identifyNumber }}</el-col>
  153. <el-col :span="6"><span>手机号:</span>{{ orderInfo.applyinfo.mobile }}</el-col>
  154. </el-row>
  155. <el-row class="premium-style" :gutter="20">
  156. <el-col :span="6"><span>电子邮箱:</span>{{ orderInfo.applyinfo.email ? orderInfo.applyinfo.email : '/'
  157. }}</el-col>
  158. <el-col :span="12"><span>地址:</span>{{ orderInfo.applyinfo.addr }}</el-col>
  159. </el-row>
  160. </div>
  161. </OpenCloseBox>
  162. <OpenCloseBox id="bbrxx">
  163. <span slot="title">被保人信息</span>
  164. <div slot="boby">
  165. <el-row class="premium-style" :gutter="20">
  166. <el-col :span="6"><span>被保人姓名:</span>{{ orderInfo.insureinfo.name }}</el-col>
  167. <el-col :span="6"><span>证件类型:</span>{{ orderInfo.insureinfo.identifyType }}</el-col>
  168. <el-col :span="6"><span>身份证号:</span>{{ orderInfo.insureinfo.identifyNumber }}</el-col>
  169. <el-col :span="6"><span>手机号:</span>{{ orderInfo.insureinfo.mobile }}</el-col>
  170. </el-row>
  171. <el-row class="premium-style" :gutter="20">
  172. <el-col :span="6"><span>电子邮箱:</span>{{ orderInfo.insureinfo.email ? orderInfo.insureinfo.email : '/'
  173. }}</el-col>
  174. <el-col :span="12"><span>地址:</span>{{ orderInfo.insureinfo.addr }}</el-col>
  175. </el-row>
  176. </div>
  177. </OpenCloseBox>
  178. <OpenCloseBox id="cjxx">
  179. <span slot="title">投保信息</span>
  180. <div slot="boby">
  181. <div class="m-btn-10">保险公司:{{ orderInfo.inscompany }}</div>
  182. <div class=" quotation-style">
  183. <b>险种</b>
  184. <b>起保日期</b>
  185. <b>终保日期</b>
  186. <b>保费金额</b>
  187. <span>交强险</span>
  188. <span>{{ orderInfo.jqstartdate ? orderInfo.jqstartdate : '-' }}</span>
  189. <span>{{ orderInfo.jqenddate ? orderInfo.jqenddate : '-' }}</span>
  190. <span>{{ orderInfo.jqpremium ? '¥' + orderInfo.jqpremium : '-' }}</span>
  191. <span>商业险</span>
  192. <span>{{ orderInfo.systartdate ? orderInfo.systartdate : '-' }}</span>
  193. <span>{{ orderInfo.syenddate ? orderInfo.syenddate : '-' }}</span>
  194. <span>{{ orderInfo.sypremium ? '¥' + orderInfo.sypremium : '-' }}</span>
  195. <span>车船税</span>
  196. <span>-</span>
  197. <span>-</span>
  198. <span>¥{{ orderInfo.taxamount }}</span>
  199. <span>驾意险</span>
  200. <span>-</span>
  201. <span>-</span>
  202. <span>{{ orderInfo.jypremium ? '¥' + orderInfo.jypremium : '-' }}</span>
  203. <span>总计</span>
  204. <span>-</span>
  205. <span>-</span>
  206. <span class="themeColor" style="font-weight: bold;">¥{{ orderInfo.sumpremium }}</span>
  207. </div>
  208. </div>
  209. </OpenCloseBox>
  210. <OpenCloseBox id="qsxx" v-if="orderInfo.taxArrears && orderInfo.taxArrears.length > 0">
  211. <span slot="title">欠税信息</span>
  212. <div slot="boby">
  213. <div class="quotation-style tax-arrears">
  214. <b>当年应缴(元)</b>
  215. <b>去年补缴(元)</b>
  216. <b>滞纳金(元)</b>
  217. <b>总计</b>
  218. <div v-for="(taxArrearsitem, taxArrearsindex) in orderInfo.taxArrears" :key="taxArrearsindex">
  219. <span>¥{{ taxArrearsitem.dayYearTax }}</span>
  220. <span>¥{{ taxArrearsitem.taxDefault }}</span>
  221. <span>¥{{ taxArrearsitem.lateFee }}</span>
  222. <span>¥{{ orderInfo.taxamount }}</span>
  223. </div>
  224. </div>
  225. </div>
  226. </OpenCloseBox>
  227. <OpenCloseBox id="bfys">
  228. <span slot="title">保费因素</span>
  229. <div slot="boby">
  230. <el-row class="premium-style " :gutter="20">
  231. <el-col :span="6"><span>评分:</span>{{ orderInfo.extendInfo.score ? orderInfo.extendInfo.score : ''
  232. }}</el-col>
  233. <el-col :span="6"><span>总赔付率:</span>{{ orderInfo.extendInfo.lossRation }}</el-col>
  234. <el-col :span="6"><span>总折扣率:</span>{{ orderInfo.extendInfo.totalAdjustRate }}</el-col>
  235. </el-row>
  236. <el-row class="premium-style " :gutter="20">
  237. <el-col :span="6"><span>交强类型评分:</span>{{ orderInfo.extendInfo.jqScore }}</el-col>
  238. <el-col :span="6"><span>交强赔付率:</span>{{ orderInfo.extendInfo.jqLossRation }}</el-col>
  239. <el-col :span="6"><span>交强险折扣:</span>{{ orderInfo.extendInfo.jqAdjustRate }}</el-col>
  240. </el-row>
  241. <el-row class="premium-style " :gutter="20">
  242. <el-col :span="6"><span>商业类型评分:</span>{{ orderInfo.extendInfo.syScore }}</el-col>
  243. <el-col :span="6"><span>商业赔付率:</span>{{ orderInfo.extendInfo.syLossRation }}</el-col>
  244. <el-col :span="6"><span>商业险折扣:</span>{{ orderInfo.extendInfo.syAdjustRate }}</el-col>
  245. </el-row>
  246. <el-row class="premium-style " :gutter="20">
  247. <el-col :span="6"><span>交强续保:</span>{{ orderInfo.extendInfo.jqRenewal }}</el-col>
  248. <el-col :span="6"><span>商业续保:</span>{{ orderInfo.extendInfo.syRenewal }}</el-col>
  249. <el-col :span="6"><span>交强出险次数:</span>{{ orderInfo.extendInfo.jqClaims }}</el-col>
  250. <el-col :span="6"><span>商业出险次数:</span>{{ orderInfo.extendInfo.syClaims }}</el-col>
  251. </el-row>
  252. <el-row class="premium-style " :gutter="20" v-if="orderInfo.ubiPredictedInfoScore">
  253. <el-col :span="6"><span>紫金能源车(鼎然-车辆风险评分):</span>{{ orderInfo.ubiPredictedInfoScore }}</el-col>
  254. </el-row>
  255. </div>
  256. </OpenCloseBox>
  257. <OpenCloseBox id="xzxx" v-if="orderInfo.kindinfo && orderInfo.kindinfo.length > 0">
  258. <span slot="title">险种信息</span>
  259. <div slot="boby">
  260. <div class="quotation-style kind-arrears">
  261. <b>商业险险别</b>
  262. <b>保额(元)</b>
  263. <b>保费(元)</b>
  264. <div v-for="(kindinfoitem, kindinfoindex) in orderInfo.kindinfo" :key="kindinfoindex">
  265. <span>{{ kindinfoitem.kindName }}</span>
  266. <span v-if="['D4', 'SY_FJ_YBW2'].includes(kindinfoitem.kindCode)">{{ kindinfoitem.unitAmount }}</span>
  267. <span v-else-if="['MJ1', 'MJ2', 'MJ3', 'MJ4'].includes(kindinfoitem.kindCode)
  268. ">
  269. {{ kindinfoitem.deductibleRate }}
  270. </span>
  271. <span v-else>{{ kindinfoitem.amount }}</span>
  272. <span>{{ kindinfoitem.coveragePremium ? kindinfoitem.coveragePremium : '-' }}</span>
  273. </div>
  274. </div>
  275. </div>
  276. </OpenCloseBox>
  277. <OpenCloseBox id="jyx" v-if="orderInfo.accidentInfo && orderInfo.accidentInfo.length > 0">
  278. <span slot="title">驾意险</span>
  279. <div slot="boby">
  280. <el-table
  281. :data="orderInfo.accidentInfo"
  282. stripe
  283. border
  284. :header-cell-style="{ background: '#F7F7F9 ', fontWeight: '500', color: '#333333' }"
  285. style="width: 100%">
  286. <el-table-column
  287. prop="name"
  288. align="center"
  289. label="驾意险名称">
  290. <template slot-scope="scope">
  291. <span style="color: #D42426;">{{ scope.row.name }}</span>
  292. </template>
  293. </el-table-column>
  294. <el-table-column
  295. prop="amount"
  296. align="center"
  297. label="保险金额">
  298. <template slot-scope="scope">
  299. <span >¥{{ scope.row.amount ?scope.row.amount:'-' }}</span>
  300. </template>
  301. </el-table-column>
  302. <el-table-column
  303. align="center"
  304. prop="premium"
  305. label="保费">
  306. <template slot-scope="scope">
  307. <span >¥{{ scope.row.premium?scope.row.premium:'-' }}</span>
  308. </template>
  309. </el-table-column>
  310. </el-table>
  311. </div>
  312. </OpenCloseBox>
  313. <OpenCloseBox id="yxzl" v-if="Object.keys(obj).length != 0">
  314. <span slot="title">影像资料</span>
  315. <div slot="boby">
  316. <el-row :gutter="20">
  317. <el-col :span="12">
  318. <h4>行驶证影像</h4>
  319. <viewer :images="obj.carImageList">
  320. <img class="imageStyle" v-for="(imageItem, imageIndex) in obj.carImageList" :src="imageItem"
  321. :key="imageIndex" />
  322. </viewer>
  323. </el-col>
  324. <el-col :span="12">
  325. <div v-if="obj.ownerImageList">
  326. <h4>车主身份证影像</h4>
  327. <viewer :images="obj.ownerImageList">
  328. <img class="imageStyle" v-for="(imageItem, imageIndex) in obj.ownerImageList" :src="imageItem"
  329. :key="imageIndex" />
  330. </viewer>
  331. </div>
  332. <div v-else>
  333. <h4>营业执照</h4>
  334. <img class="imageStyle" style="margin-right: 0;" />
  335. </div>
  336. </el-col>
  337. </el-row>
  338. <el-row :gutter="20">
  339. <el-col :span="12">
  340. <div v-if="obj.policyImageList">
  341. <h4>投保人身份证影像</h4>
  342. <viewer :images="obj.policyImageList">
  343. <img class="imageStyle" v-for="(imageItem, imageIndex) in obj.policyImageList" :src="imageItem"
  344. :key="imageIndex" />
  345. </viewer>
  346. </div>
  347. <div v-else>
  348. <h4>营业执照</h4>
  349. <img class="imageStyle" style="margin-right: 0;" />
  350. </div>
  351. </el-col>
  352. <el-col :span="12">
  353. <div v-if="obj.insuredImageList">
  354. <h4>被保人身份证影像</h4>
  355. <viewer :images="obj.insuredImageList">
  356. <img class="imageStyle" v-for="(imageItem, imageIndex) in obj.insuredImageList" :src="imageItem"
  357. :key="imageIndex" />
  358. </viewer>
  359. </div>
  360. <div v-else>
  361. <h4>营业执照</h4>
  362. <img class="imageStyle" style="margin-right: 0;" />
  363. </div>
  364. </el-col>
  365. </el-row>
  366. <el-row :gutter="20" v-if="obj.carCheckImageList && obj.carCheckImageList.length > 0">
  367. <el-col :span="24">
  368. <h4>验车照影像</h4>
  369. <viewer :images="obj.carCheckImageList">
  370. <img class="imageStyle" v-for="(imageItem, imageIndex) in obj.carCheckImageList" :src="imageItem"
  371. :key="imageIndex" />
  372. </viewer>
  373. </el-col>
  374. </el-row>
  375. </div>
  376. </OpenCloseBox>
  377. <OpenCloseBox id="dzbd" v-if="orderInfo && orderInfo.orderstatus == 3">
  378. <span slot="title">保单信息</span>
  379. <div slot="boby">
  380. <el-row class="premium-style " :gutter="20">
  381. <!-- <el-col :span="12"><span>交强险投保单号:</span>{{ orderInfo.jqapplyno }}</el-col> -->
  382. <el-col :span="12" v-if="orderInfo.jqpolicyno"><span>交强险保单号:</span>{{ orderInfo.jqpolicyno }}</el-col>
  383. <!-- <el-col v-if="orderInfo.syapplyno" :span="12"><span>商业险投保单号:</span>{{ orderInfo.syapplyno }}</el-col> -->
  384. <el-col v-if="orderInfo.sypolicyno" :span="12"><span>商业险保单号:</span>{{ orderInfo.sypolicyno }}</el-col>
  385. <el-col :span="12" v-for="(oldfileItem, oldfileIndex) in warrantObj.oldfileList" :key="oldfileIndex">
  386. <div>
  387. <span>{{ oldfileItem.fileTitle }} :</span>{{ orderInfo.licenseno }}
  388. <el-button style="margin-left:30px" type="text" @click="viewfile(oldfileItem)">下载
  389. </el-button>
  390. </div>
  391. </el-col>
  392. <el-col :span="12" v-for="(val, oldfileIndex) in warrantObj.businessList" :key="oldfileIndex">
  393. <div>
  394. <span>{{ val.fileTitle }} :</span>{{ orderInfo.licenseno }}
  395. <el-button style="margin-left:30px" type="text" @click="viewfile(val)">下载
  396. </el-button>
  397. </div>
  398. </el-col>
  399. </el-row>
  400. <el-row class="premium-style " :gutter="20">
  401. <el-col :span="12" v-for="(oldfileItem, oldfileIndex) in warrantObj.accidentList" :key="oldfileIndex">
  402. <div>
  403. <span>{{ oldfileItem.fileTitle }} :</span>{{ orderInfo.licenseno }}
  404. <el-button style="margin-left:30px" type="text" @click="viewfile(oldfileItem)">下载
  405. </el-button>
  406. </div>
  407. </el-col>
  408. </el-row>
  409. </div>
  410. </OpenCloseBox>
  411. <OpenCloseBox id="fymx" v-if="feeOrderNewVoList">
  412. <span slot="title">费用明细</span>
  413. <div slot="boby" style="font-size:12px;width: 100%" class="FeeEnclosure">
  414. <el-table :data="feeOrderNewVoList.list" :span-method="feeOrderNewVomergeRows" :border="true" width="100%"
  415. :stripe="true" size="mini" :header-cell-style="{
  416. background: '#F7F7F9',
  417. fontWeight: '700',
  418. color: '#606266',
  419. }">
  420. <el-table-column prop="type" label="">
  421. </el-table-column>
  422. <el-table-column prop="insuranceType" label="险种">
  423. </el-table-column>
  424. <el-table-column prop="premium" label="保费">
  425. <template slot-scope="scope" >
  426. <span >¥{{ scope.row.premium }}</span>
  427. </template>
  428. </el-table-column>
  429. <el-table-column prop="otherCostsProportion" label="跟单比例">
  430. <template slot-scope="scope" >
  431. <span v-if="!isAuditing || scope.row.type !== '入口费用'">{{ scope.row.otherCostsProportion }}% </span>
  432. <el-input v-else v-model="scope.row.otherCostsProportion" size="mini"></el-input>
  433. </template>
  434. </el-table-column>
  435. <el-table-column prop="superviseCosts" label="手续费比例">
  436. <template slot-scope="scope">
  437. <span v-if="!isAuditing || scope.row.type !== '入口费用'">{{ scope.row.superviseCosts }}% </span>
  438. <el-input v-else v-model="scope.row.superviseCosts" size="mini"></el-input>
  439. </template>
  440. </el-table-column>
  441. <el-table-column prop="totalProportion" label="总比例">
  442. <template slot-scope="scope">
  443. <span v-if="!isAuditing || scope.row.type !== '入口费用'">{{ scope.row.totalProportion }}%</span>
  444. <el-input v-else v-model="scope.row.totalProportion" size="mini"></el-input>
  445. </template>
  446. </el-table-column>
  447. <el-table-column prop="otherCostsPremiums" label="跟单费">
  448. <template slot-scope="scope" >
  449. <span >¥{{ scope.row.otherCostsPremiums }}</span>
  450. </template>
  451. </el-table-column>
  452. <el-table-column prop="superviseCostsPremiums" label="手续费">
  453. <template slot-scope="scope" >
  454. <span >¥{{ scope.row.superviseCostsPremiums }}</span>
  455. </template>
  456. </el-table-column>
  457. <el-table-column prop="totalAmount" label="总费用">
  458. <template slot-scope="scope" >
  459. <span >¥{{ scope.row.totalAmount }}</span>
  460. </template>
  461. </el-table-column>
  462. </el-table>
  463. </div>
  464. </OpenCloseBox>
  465. <OpenCloseBox id="jgglf" v-if="feeOrderNewVoList.deptManagerFee">
  466. <span slot="title">机构管理费</span>
  467. <div slot="boby" style="font-size:12px;width: 100%" class="FeeEnclosure">
  468. <el-table :data="feeOrderNewVoList.deptManagerFee" :border="true" width="100%" :stripe="true"
  469. size="mini" :header-cell-style="{
  470. background: '#F7F7F9',
  471. fontWeight: '700',
  472. color: '#606266',
  473. }">
  474. <el-table-column prop="insuranceType" label="险种"></el-table-column>
  475. <el-table-column prop="deptProportionLevelOne" label="一级管理费比例">
  476. <template slot-scope="scope">
  477. <span v-if="!isAuditing">{{ scope.row.deptProportionLevelOne }}% </span>
  478. <el-input v-else v-model="scope.row.deptProportionLevelOne" size="mini"></el-input>
  479. </template>
  480. </el-table-column>
  481. <el-table-column prop="deptProportionLevelTwo" label="二级管理费比例 ">
  482. <template slot-scope="scope">
  483. <span v-if="!isAuditing">{{ scope.row.deptProportionLevelTwo }}% </span>
  484. <el-input v-else v-model="scope.row.deptProportionLevelTwo" size="mini"></el-input>
  485. </template>
  486. </el-table-column>
  487. <el-table-column prop="deptProportionLevelThree" label="三级管理费比例">
  488. <template slot-scope="scope">
  489. <span v-if="!isAuditing">{{ scope.row.deptProportionLevelThree }}% </span>
  490. <el-input v-else v-model="scope.row.deptProportionLevelThree" size="mini"></el-input>
  491. </template>
  492. </el-table-column>
  493. <el-table-column prop="deptProportionLevelFoure" label="四级管理费比例">
  494. <template slot-scope="scope">
  495. <span v-if="!isAuditing">{{ scope.row.deptProportionLevelFoure }}% </span>
  496. <el-input v-else v-model="scope.row.deptProportionLevelFoure" size="mini"></el-input>
  497. </template>
  498. </el-table-column>
  499. <el-table-column prop="deptProportionLevelFive" label="五级管理费比例">
  500. <template slot-scope="scope">
  501. <span v-if="!isAuditing">{{ scope.row.deptProportionLevelFive }}% </span>
  502. <el-input v-else v-model="scope.row.deptProportionLevelFive" size="mini"></el-input>
  503. </template>
  504. </el-table-column>
  505. <el-table-column prop="deptPremiumsLevelOne" label="一级管理费">
  506. <template slot-scope="scope" >
  507. <span >¥{{ scope.row.deptPremiumsLevelOne }}</span>
  508. </template>
  509. </el-table-column>
  510. <el-table-column prop="deptPremiumsLevelTwo" label="二级管理费">
  511. <template slot-scope="scope" >
  512. <span >¥{{ scope.row.deptPremiumsLevelTwo }}</span>
  513. </template>
  514. </el-table-column>
  515. <el-table-column prop="deptPremiumsLevelThree" label="三级管理费">
  516. <template slot-scope="scope" >
  517. <span >¥{{ scope.row.deptPremiumsLevelThree }}</span>
  518. </template>
  519. </el-table-column>
  520. <el-table-column prop="deptPremiumsLevelFoure" label="四级管理费">
  521. <template slot-scope="scope" >
  522. <span >¥{{ scope.row.deptPremiumsLevelFoure }}</span>
  523. </template>
  524. </el-table-column>
  525. <el-table-column prop="deptPremiumsLevelFive" label="五级管理费">
  526. <template slot-scope="scope" >
  527. <span >¥{{ scope.row.deptPremiumsLevelFive }}</span>
  528. </template>
  529. </el-table-column>
  530. <el-table-column prop="externalProportion" label="代客录单扣减比例">
  531. <template slot-scope="scope" >
  532. <span v-if="scope.row.externalProportion">{{ scope.row.externalProportion }}%</span>
  533. <span v-else>-</span>
  534. </template>
  535. </el-table-column>
  536. <el-table-column prop="externalPremiums" label="代客录单扣减金额">
  537. <template slot-scope="scope" >
  538. <span v-if="scope.row.externalPremiums">¥{{ scope.row.externalPremiums }}</span>
  539. <span v-else>-</span>
  540. </template>
  541. </el-table-column>
  542. <el-table-column prop="profitMarginPremiums" label="利润差值">
  543. <template slot-scope="scope" >
  544. <span >¥{{ scope.row.profitMarginPremiums }}</span>
  545. </template>
  546. </el-table-column>
  547. </el-table>
  548. </div>
  549. </OpenCloseBox>
  550. <OpenCloseBox id="fxmx1" v-if="feeOrderNewVoList.retailFee">
  551. <span slot="title">分销明细</span>
  552. <div slot="boby" style="font-size:12px;width: 100%" class="FeeEnclosure">
  553. <el-table :data="feeOrderNewVoList.retailFee" :border="true" width="100%" :stripe="true" size="mini"
  554. :header-cell-style="{
  555. background: '#F7F7F9',
  556. fontWeight: '700',
  557. color: '#606266',
  558. }">
  559. <el-table-column prop="insuranceType" label="等级"></el-table-column>
  560. <el-table-column prop="userName" label="接收人"></el-table-column>
  561. <el-table-column prop="jqRetailProportion" label="交强分销比例">
  562. <template slot-scope="scope" >
  563. <span>{{ scope.row.jqRetailProportion }}%</span>
  564. </template>
  565. </el-table-column>
  566. <el-table-column prop="jqRetailPremiums" label="交强分销费">
  567. <template slot-scope="scope" >
  568. <span>¥{{ scope.row.jqRetailPremiums }}</span>
  569. </template>
  570. </el-table-column>
  571. <el-table-column prop="syRetailProportion" label="商业分销比例">
  572. <template slot-scope="scope" >
  573. <span>{{ scope.row.syRetailProportion }}%</span>
  574. </template>
  575. </el-table-column>
  576. <el-table-column prop="syRetailPremiums" label="商业险分销费">
  577. <template slot-scope="scope" >
  578. <span>¥{{ scope.row.syRetailPremiums }}</span>
  579. </template>
  580. </el-table-column>
  581. <el-table-column prop="noRetailProportion" label="非车分销比例">
  582. <template slot-scope="scope" >
  583. <span>{{ scope.row.noRetailProportion }}%</span>
  584. </template>
  585. </el-table-column>
  586. <el-table-column prop="noRetailPremiums" label="非车险分销费">
  587. <template slot-scope="scope" >
  588. <span>¥{{ scope.row.noRetailPremiums }}</span>
  589. </template>
  590. </el-table-column>
  591. <el-table-column prop="amount" label="金额">
  592. <template slot-scope="scope" >
  593. <span>¥{{ scope.row.totalRetailPremiums }}</span>
  594. </template>
  595. </el-table-column>
  596. </el-table>
  597. </div>
  598. </OpenCloseBox>
  599. <OpenCloseBox id="shyj" v-if="orderInfo && orderInfo.orderstatus == 4 && orderInfo.auditopinion">
  600. <span slot="title">审核意见</span>
  601. <div slot="boby">
  602. <p style=" padding: 10px 50px">
  603. {{ orderInfo.auditopinion }}
  604. </p>
  605. </div>
  606. </OpenCloseBox>
  607. </div>
  608. </div>
  609. <span slot="footer" class="dialog-footer">
  610. <template v-if="auditStatus!=1">
  611. <el-button size="small" type="warning" @click="updatedCost" v-if="isAuditing">更改费用</el-button>
  612. <el-button size="small" type="primary" style="background-color: #0EC216; border: 1px solid #0EC216"
  613. @click="adjustFee"><span v-if="isAuditing">取消调整</span><span v-if="!isAuditing">调整费用</span></el-button>
  614. <el-button size="small" type="primary"
  615. style="background-color: #0EC216;border: 1px solid #0EC216"
  616. @click="adusitFUn">审核通过</el-button>
  617. <el-button size="small" type="primary" v-if="isrejection"
  618. style="background-color: #0EC216;border: 1px solid #0EC216;"
  619. @click="rejectionFUn">审核驳回</el-button>
  620. </template>
  621. <el-button size="small" type="primary" plain @click="dialogVisible = false">关闭</el-button>
  622. </span>
  623. </el-dialog>
  624. </template>
  625. <script>
  626. import OpenCloseBox from './openclose.vue'
  627. export default {
  628. name: "detailsDialog",
  629. data() {
  630. return {
  631. dialogVisible: false,
  632. obj: {},
  633. warrantObj: {},
  634. selectedItem: null,
  635. isAuditing: false,
  636. };
  637. },
  638. props: {
  639. orderInfo: {
  640. type: Object,
  641. default: {}
  642. },
  643. auditStatus:String,
  644. isrejection:{
  645. type: Boolean,
  646. default: false
  647. },
  648. feeOrderNewVoList: Object,
  649. },
  650. components: { OpenCloseBox },
  651. methods: {
  652. adjustFee() {
  653. this.isAuditing = !this.isAuditing;
  654. },
  655. adusitFUn() {
  656. this.$emit('adusitFUn')
  657. },
  658. rejectionFUn() {
  659. this.$emit('rejectionFUn')
  660. },
  661. updatedCost() {
  662. let newCost = {
  663. deptManagerFee : this.feeOrderNewVoList.deptManagerFee,
  664. feeOrder : this.feeOrderNewVoList.list,
  665. retailFee: this.feeOrderNewVoList.retailFee
  666. }
  667. this.$emit('updatedCost',newCost)
  668. this.isAuditing=false;
  669. },
  670. feeOrderNewVomergeRows({ row, column, rowIndex, columnIndex }) {
  671. if (columnIndex === 0) {
  672. if (rowIndex === 0 || this.feeOrderNewVoList.list[rowIndex].type !== this.feeOrderNewVoList.list[rowIndex - 1].type) {
  673. let rowSpan = 1;
  674. for (let i = rowIndex + 1; i < this.feeOrderNewVoList.list.length; i++) {
  675. if (this.feeOrderNewVoList.list[i].type === row.type) {
  676. rowSpan++;
  677. } else {
  678. break;
  679. }
  680. }
  681. return [rowSpan, 1];
  682. } else {
  683. return [0, 0];
  684. }
  685. }
  686. return [1, 1];
  687. },
  688. selectItem(item) {
  689. this.selectedItem = item;
  690. document.getElementById(item).scrollIntoView({ behavior: "smooth" });
  691. },
  692. setBackupVisible: function (backupVisible) {
  693. this.selectedItem = 'gsxx'
  694. this.dialogVisible = backupVisible
  695. },
  696. imageFun(param) {
  697. this.obj = param
  698. },
  699. warrantyFun(param) {
  700. this.warrantObj = param
  701. },
  702. saveAs(blob, filename) {
  703. var link = document.createElement("a");
  704. link.href = window.URL.createObjectURL(blob);
  705. link.target = "_ blank";
  706. link.download = filename;
  707. link.click();
  708. },
  709. //预览文件
  710. viewfile(index) {
  711. if(this.orderInfo.isExternal==1){
  712. let url = process.env.BASE_URL +index.fileurl; // 3.创建一个临时的url指向blob对象
  713. fetch(url)
  714. .then((response) => response.blob())
  715. .then((blob) => {
  716. this.saveAs(
  717. blob,
  718. index.fileurl.substring(name + 1, index.fileurl.length)
  719. );
  720. })
  721. .catch((error) => { });
  722. }
  723. else{
  724. let name = index.fileurl.lastIndexOf("/");
  725. fetch(index.fileurl)
  726. .then((response) => response.blob())
  727. .then((blob) => {
  728. this.saveAs(
  729. blob,
  730. index.fileurl.substring(name + 1, index.fileurl.length)
  731. );
  732. })
  733. .catch((error) => { });
  734. }
  735. },
  736. }
  737. };
  738. </script>
  739. <style lang="scss" scoped>
  740. .details-body {
  741. .tabLeft {
  742. list-style: none;
  743. padding-left: 0;
  744. width: 100px;
  745. li {
  746. height: 40px;
  747. line-height: 40px;
  748. font-size: 14px;
  749. font-weight: 500;
  750. padding-left: 20px;
  751. cursor: pointer;
  752. }
  753. li:hover {
  754. color: var(--themeColor);
  755. }
  756. }
  757. .li-selected {
  758. color: var(--themeColor);
  759. background-color: rgba(212, 36, 38, 0.06);
  760. }
  761. .fixedTop {
  762. width: 100%;
  763. height: auto;
  764. // position: absolute;
  765. // top: 10px;
  766. background: linear-gradient(#fbe8e8, #fff 50%);
  767. border-radius: 5px;
  768. margin-bottom: 20px;
  769. list-style-type: none;
  770. padding: 20px;
  771. box-sizing: border-box;
  772. display: flex;
  773. justify-content: space-between;
  774. li {
  775. width: auto;
  776. height: auto;
  777. .title {
  778. width: 100%;
  779. height: auto;
  780. display: flex;
  781. justify-content: flex-start;
  782. p {
  783. font-size: 16px;
  784. color: #666;
  785. margin: 0 0 0 10px;
  786. }
  787. .img {
  788. width: 24px;
  789. height: 24px;
  790. img {
  791. width: 100%;
  792. height: 100%;
  793. }
  794. }
  795. margin-bottom: 5px;
  796. }
  797. p {
  798. margin: 10px 0 0 0;
  799. font-size: 20px;
  800. color: #333;
  801. }
  802. }
  803. }
  804. }
  805. .icon-img {
  806. width: 30px;
  807. height: 30px;
  808. vertical-align: bottom
  809. }
  810. .details-title {
  811. font-weight: bold;
  812. font-size: 16px;
  813. }
  814. .quotation-style {
  815. font-size: 0;
  816. b {
  817. background: #F7F7F9;
  818. font-size: 14px;
  819. }
  820. b,
  821. span {
  822. display: inline-block;
  823. box-sizing: border-box;
  824. width: 25%;
  825. text-align: center;
  826. line-height: 40px;
  827. border: 1px solid #EEF1F6;
  828. font-size: 14px;
  829. }
  830. }
  831. .premium-style {
  832. div {
  833. padding: 5px 0;
  834. }
  835. span {
  836. color: #868B98;
  837. }
  838. }
  839. .driving-style {
  840. span:first-child {
  841. width: 70%;
  842. }
  843. b:first-child {
  844. width: 70%;
  845. }
  846. b,
  847. span {
  848. width: 15%;
  849. }
  850. }
  851. .tax-arrears {
  852. b,
  853. span {
  854. width: 25%;
  855. }
  856. }
  857. .kind-arrears {
  858. b,
  859. span {
  860. width: 33.33%;
  861. }
  862. }
  863. .imageStyle {
  864. display: inline-block;
  865. width: 120px;
  866. height: 120px;
  867. // box-shadow: #ddd 0px 0px 5px;
  868. margin-right: 86px;
  869. border: 1px dashed #CED4DA;
  870. background: #F7F7F9;
  871. }
  872. .FeeEnclosure {
  873. /deep/ table {
  874. width: 100% !important;
  875. }
  876. /deep/ .cell {
  877. text-align: center;
  878. }
  879. /deep/ .el-table__empty-block {
  880. width: 100% !important;
  881. }
  882. }
  883. /deep/ .el-dialog__body {
  884. padding-top: 0;
  885. border-bottom: 1px solid #EEF1F6;
  886. background-color: rgb(242, 242, 242);
  887. padding: 0;
  888. }
  889. </style>