KtOrder.vue 88 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713
  1. <template>
  2. <div class="page">
  3. <el-form
  4. :inline="true"
  5. :model="pageRequest"
  6. class="demo-form-inline"
  7. size="small"
  8. label-width="130px"
  9. >
  10. <el-row>
  11. <el-col :span="6">
  12. <el-form-item label="订单号">
  13. <el-input v-model="pageRequest.orderNo" placeholder="请输入订单号" class="widths" clearable></el-input>
  14. </el-form-item>
  15. </el-col>
  16. <el-col :span="6">
  17. <el-form-item label="车牌号">
  18. <el-input v-model="pageRequest.licenseNo" placeholder="请输入车牌号" class="widths" clearable></el-input>
  19. </el-form-item>
  20. </el-col>
  21. <el-col :span="6">
  22. <el-form-item label="车架号">
  23. <el-input v-model="pageRequest.frameNo" placeholder="请输入车架号" class="widths" clearable></el-input>
  24. </el-form-item>
  25. </el-col>
  26. <el-col :span="6">
  27. <el-form-item label="投保人姓名">
  28. <el-input
  29. v-model="pageRequest.insuredName"
  30. placeholder="请输入投保人姓名"
  31. class="widths"
  32. clearable
  33. ></el-input>
  34. </el-form-item>
  35. </el-col>
  36. <el-col :span="6" v-if="isLetterOrder">
  37. <el-form-item label="机构名称">
  38. <el-cascader
  39. class="widths"
  40. :options="institutionOptions"
  41. v-model="pageRequest.deptId"
  42. :props="{
  43. checkStrictly: true,
  44. value: 'id',
  45. label: 'name',
  46. }"
  47. @change="handleChange"
  48. clearable
  49. ></el-cascader>
  50. </el-form-item>
  51. </el-col>
  52. <el-col :span="6">
  53. <el-form-item label="录单日期">
  54. <el-date-picker
  55. v-model="value2"
  56. type="daterange"
  57. @change="monthChange"
  58. start-placeholder="开始日期"
  59. end-placeholder="结束日期"
  60. value-format="yyyy-MM-dd"
  61. clearable
  62. style="width: 200px;"
  63. ></el-date-picker>
  64. </el-form-item>
  65. </el-col>
  66. <el-col :span="6">
  67. <el-form-item label="保险公司">
  68. <el-select v-model="pageRequest.companyId" filterable class="widths" clearable>
  69. <el-option v-for="val in companyList" :key="val.id" :label="val.name" :value="val.id"></el-option>
  70. </el-select>
  71. </el-form-item>
  72. </el-col>
  73. <el-col :span="3">
  74. <el-button type="primary" size="small" @click="onSubmit">查询</el-button>
  75. </el-col>
  76. </el-row>
  77. <el-row v-if="isLetterOrder">
  78. <el-col :span="21">
  79. <el-form-item label="订单状态">
  80. <el-radio-group v-model="pageRequest.orderStatus">
  81. <el-radio label="888">全部</el-radio>
  82. <el-radio
  83. v-for="val in optionsStatus"
  84. :key="val.dictValue"
  85. :label="val.dictValue"
  86. >{{ val.dictTag }}</el-radio>
  87. </el-radio-group>
  88. </el-form-item>
  89. </el-col>
  90. </el-row>
  91. </el-form>
  92. <el-table
  93. size="small"
  94. :data="pageResult"
  95. border
  96. v-loading="orderLoaing"
  97. highlight-current-row
  98. stripe
  99. @expand-change="handleRowChange"
  100. ref="expandTable"
  101. :header-cell-style="{
  102. background: '#F2F7FC',
  103. fontWeight: '700',
  104. color: '#606266',
  105. }"
  106. >
  107. <el-table-column type="expand">
  108. <template slot-scope="scope">
  109. <div
  110. class="demo-table-expand flex a-c j-s"
  111. :style="{ width: width, flexWrap: 'wrap' }"
  112. v-for="(item, index) in scope.row.insAreaCompanyList"
  113. :key="index"
  114. >
  115. <div style="width: 12%;">
  116. {{ item.inscompany }}
  117. <span style="color: #D42426 ">({{ item.agreementName }})</span>
  118. </div>
  119. <div class="flex a-c j-s demo-table-expand-time">
  120. <div>
  121. 总价:
  122. <span style="color: #D42426 ">{{ item.sumpremium }}</span>
  123. </div>
  124. <div>
  125. 交强险:
  126. <span style="color: #D42426 ">{{ item.jqpremium }}</span>
  127. </div>
  128. <div>
  129. 商业险:
  130. <span style="color: #D42426 ">{{ item.sypremium }}</span>
  131. </div>
  132. <div>
  133. 车船税:
  134. <span style="color: #D42426 ">{{ item.taxamount }}</span>
  135. </div>
  136. <div v-if="item.jypremium">
  137. 驾意险:
  138. <span style="color: #D42426 ">{{ item.jypremium }}</span>
  139. </div>
  140. <div>{{ item.createtime }}</div>
  141. </div>
  142. <div slot="reference" class="name-wrapper flex a-c j-c">
  143. <el-tag
  144. style="color:#33A08D;border-color:#33A08D;background: rgba(51,160,141,0.1);"
  145. v-if="item.orderstatus=='0'||item.orderstatus=='1'"
  146. size="small"
  147. >{{item.orderstatus | cap}}</el-tag>
  148. <el-tag
  149. style="border-color:#E75B5D ;"
  150. type="danger"
  151. v-else-if="item.orderstatus=='3'"
  152. size="small"
  153. >{{item.orderstatus | cap}}</el-tag>
  154. <el-tag
  155. v-else
  156. style="color:#2D4D89 ;border-color:#2D4D89 ;background: rgba(45, 77, 137,0.1);"
  157. size="small"
  158. >{{item.orderstatus | cap}}</el-tag>
  159. </div>
  160. <div class="flex a-c">
  161. <el-button
  162. size="mini"
  163. type="text"
  164. v-if="
  165. item.orderstatus == '1' &&
  166. [
  167. '中煤财险',
  168. '华泰财险',
  169. '大家财险',
  170. '永诚财险',
  171. '国任财险',
  172. '太平财险',
  173. '华农财险',
  174. '恒邦财险',
  175. '众安财险',
  176. '中国人寿',
  177. '安盛天平',
  178. '紫金财险',
  179. '渤海财险',
  180. ].includes(item.inscompany) "
  181. @click="refreshStatus(item)"
  182. class="red_color"
  183. >更新订单</el-button>
  184. <el-button
  185. size="mini"
  186. type="text"
  187. v-if="item.orderstatus == '4' && item.inscompany == '华泰财险'"
  188. @click="updateStatusHuatai(item)"
  189. class="red_color"
  190. >更新订单</el-button>
  191. <el-button
  192. size="mini"
  193. type="text"
  194. v-if="
  195. ( item.orderstatus == '1'|| item.orderstatus == '2' || item.orderstatus == '4') &&
  196. ['紫金财险'].includes(item.inscompany)
  197. "
  198. @click="cancelorder(item)"
  199. class="red_color"
  200. >撤单</el-button>
  201. <el-button
  202. size="mini"
  203. type="text"
  204. v-if="item.orderstatus == '2'"
  205. @click="carcode(scope.row.userid,item )"
  206. class="red_color"
  207. >二维码</el-button>
  208. <el-button
  209. size="mini"
  210. type="text"
  211. class="green_color"
  212. @click="OrderDetails(scope.row, item)"
  213. >查看详情</el-button>
  214. <el-button
  215. size="mini"
  216. type="text"
  217. :loading="querystatusLoaing"
  218. v-if="
  219. item.orderstatus == '2' &&
  220. [
  221. '太平财险',
  222. '华农财险',
  223. '恒邦财险',
  224. '众安财险',
  225. '中国人寿',
  226. '安盛天平',
  227. '紫金财险',
  228. '永诚财险',
  229. '大家财险',
  230. '华泰财险',
  231. '国任财险',
  232. '中煤财险',
  233. '渤海财险',
  234. ].includes(item.inscompany)
  235. "
  236. class="blue_color"
  237. @click="querystatus(item, index)"
  238. >状态更新</el-button>
  239. <el-button
  240. v-if="item.orderstatus !== '2'"
  241. size="mini"
  242. type="text"
  243. class="blue_color"
  244. @click="orderTrajectory(scope.row, item)"
  245. >订单轨迹</el-button>
  246. <el-button size="mini" type="primary" @click="bjdpreview(item.id,scope.row.userid)">报价单</el-button>
  247. <!-- <el-button size="mini" type="text" @click="CloseEdit(scope.$index, scope.row)">编辑</el-button> -->
  248. <el-button type="text" size="mini" v-if="item.orderstatus == '2'">
  249. <el-dropdown trigger="click">
  250. <span class="el-dropdown-link blue_color">
  251. 更多
  252. <i class="el-icon-arrow-down el-icon--right"></i>
  253. </span>
  254. <el-dropdown-menu slot="dropdown">
  255. <el-dropdown-item>
  256. <el-button
  257. size="mini"
  258. type="text"
  259. style="color: #2D4D89"
  260. @click="orderTrajectory(scope.row, item)"
  261. >订单轨迹</el-button>
  262. </el-dropdown-item>
  263. <el-dropdown-item>
  264. <el-button
  265. type="text"
  266. size="mini"
  267. style="color: #2D4D89"
  268. @click="revokeCode(item.id)"
  269. >撤销二维码</el-button>
  270. </el-dropdown-item>
  271. </el-dropdown-menu>
  272. </el-dropdown>
  273. </el-button>
  274. </div>
  275. </div>
  276. </template>
  277. </el-table-column>
  278. <el-table-column prop="orderno" label="订单号" align="center"></el-table-column>
  279. <el-table-column prop="username" label="业务员" align="center">
  280. <template slot-scope="scope">
  281. <span>{{ scope.row.username }}({{ scope.row.userid }})</span>
  282. </template>
  283. </el-table-column>
  284. <el-table-column prop="insCompany" label="承保公司" width="180" align="center">
  285. <template slot-scope="scope">
  286. <span>{{ scope.row.insCompany ? scope.row.insCompany : "--" }}</span>
  287. </template>
  288. </el-table-column>
  289. <el-table-column prop="licenseno" label="车牌号" width="180" align="center"></el-table-column>
  290. <el-table-column prop="insuredname" label="投保人姓名" align="center" width="150"></el-table-column>
  291. <el-table-column prop="product" label="投保险种" align="center" width="200"></el-table-column>
  292. <el-table-column prop="orderstatus" label="状态" align="center">
  293. <template slot-scope="scope">
  294. <!-- <el-tag :type="capType(scope.row.orderstatus)" size="small">{{
  295. scope.row.orderstatus | cap
  296. }}</el-tag>-->
  297. <el-tag
  298. style="color:#33A08D;border-color:#33A08D;background: rgba(51,160,141,0.1);"
  299. v-if="scope.row.orderstatus=='0'||scope.row.orderstatus=='1'"
  300. size="small"
  301. >{{scope.row.orderstatus | cap}}</el-tag>
  302. <el-tag
  303. type="danger"
  304. style="border-color:#E75B5D ;"
  305. v-else-if="scope.row.orderstatus=='3'"
  306. size="small"
  307. >{{scope.row.orderstatus | cap}}</el-tag>
  308. <el-tag
  309. v-else
  310. style="color:#2D4D89 ;border-color:#2D4D89 ;background: rgba(45, 77, 137,0.1);"
  311. size="small"
  312. >{{scope.row.orderstatus | cap}}</el-tag>
  313. </template>
  314. </el-table-column>
  315. <el-table-column prop="createtime" label="录单日期" align="center" width="200"></el-table-column>
  316. <el-table-column label="操作" align="center" min-width="100">
  317. <template slot-scope="scope">
  318. <el-button
  319. v-if="scope.row.orderstatus != '3'"
  320. size="mini"
  321. type="text"
  322. style="color:#2D4D89 "
  323. @click="CloseEdit(scope.$index, scope.row)"
  324. >编辑</el-button>
  325. <el-button
  326. size="mini"
  327. style="color:#2D4D89 "
  328. type="text"
  329. @click="onoffQuotationHistory(scope.row)"
  330. >报价历史</el-button>
  331. <!-- <el-button size="mini" type="text" v-if="['0', '5'].includes(scope.row.orderstatus)"
  332. @click="CloseQoute(scope.$index, scope.row)" style="color:#f56c6c">关闭报价</el-button>-->
  333. <!-- <el-button size="mini" type="text" v-if="scope.row.orderstatus == '0'"
  334. @click="underwriting(scope.$index, scope.row)" style="color:#e6a23c">去核保</el-button>-->
  335. </template>
  336. </el-table-column>
  337. </el-table>
  338. <!-- 分页功能 -->
  339. <div class="block">
  340. <el-pagination
  341. @size-change="applyhandleSizeChange"
  342. @current-change="applyhandleCurrentChange"
  343. :current-page="pageNum"
  344. :page-size="pageSize"
  345. :page-sizes="[20, 30, 50, 100]"
  346. layout="total, sizes, prev, pager, next, jumper"
  347. :total="totalSize"
  348. ></el-pagination>
  349. </div>
  350. <!--第一种 二维码 -->
  351. <el-dialog
  352. :visible.sync="codedialogVisible"
  353. width="430px"
  354. top="10vh"
  355. class="saomazhifucodeClass"
  356. >
  357. <div class="ORcodebody" v-watermark="qrCodeId">
  358. <div slot="title" class="dialog-title">
  359. <span>扫码付款</span>
  360. </div>
  361. <div class="ORcode">
  362. <div style="padding:13px;position: relative;">
  363. <img v-if="['太平财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" />
  364. <div v-else id="qrcode" ref="qrcode"></div>
  365. </div>
  366. </div>
  367. <img style="margin-left: -16px" src="../../../assets/image/divider.png" alt />
  368. <div style="font-size:32px;text-align: center;color:#D42426;margin-top:20px">
  369. <span style="font-size:24px;font-weight:bold">¥</span>
  370. {{sumpremium}}
  371. </div>
  372. <div class="ORtitle">
  373. <div>
  374. <span>保险公司:</span>
  375. <span>{{ inscompany }}</span>
  376. </div>
  377. <div>
  378. <span>车牌号:</span>
  379. <span>{{ licenseNo }}</span>
  380. </div>
  381. <div>
  382. <span>投保人:</span>
  383. <span>{{ applyName }}</span>
  384. </div>
  385. <div v-show="jqpremium">
  386. <span>交强:</span>
  387. <span>{{ jqpremium }}</span>
  388. </div>
  389. <div v-show="sypremium">
  390. <span>商业:</span>
  391. <span>{{ sypremium }}</span>
  392. </div>
  393. <div v-show="taxamount">
  394. <span>车船税:</span>
  395. <span>{{ taxamount }}</span>
  396. </div>
  397. <div v-show="jqstartdate">
  398. <span>交强险起保日期:</span>
  399. <span>{{ jqstartdate }}</span>
  400. </div>
  401. <div v-show="systartdate">
  402. <span>商业险起保日期:</span>
  403. <span>{{ systartdate }}</span>
  404. </div>
  405. <div v-if="jypremium">
  406. <span>非车险:</span>
  407. <span>{{ jypremium }}</span>
  408. </div>
  409. </div>
  410. </div>
  411. <span slot="footer" class="dialog-footer display">
  412. <el-button
  413. size="small"
  414. style="width:100px;border-color:#D42426;color:#D42426 "
  415. @click="codedialogVisible = false"
  416. >关闭</el-button>
  417. </span>
  418. </el-dialog>
  419. <!--第二种 二维码 -->
  420. <el-dialog
  421. :visible.sync="codedialogVisiblePro"
  422. width="660px"
  423. class="proSaomazhifucodeClass"
  424. top="10vh"
  425. title="扫码付款"
  426. >
  427. <div class="flex j-s">
  428. <div class="scan-code">
  429. <div style="font-weight: bold;">
  430. 总金额:
  431. <span style="color:#2D4D89 ">{{ sumpremium }}</span>
  432. </div>
  433. <div>交强险:{{ jqpremium }}</div>
  434. <div>车船税:{{ taxamount }}</div>
  435. <div>商业险:{{ sypremium }}</div>
  436. <div>非车险:{{ jypremium }}</div>
  437. </div>
  438. <div>
  439. <img v-if="['太平财险'].includes(inscompany)" :src="paycodeimg" alt style="width:100%" />
  440. <div v-else id="qrcode" ref="qrcode"></div>
  441. </div>
  442. <div class="scan-code">
  443. <div>保险公司:{{ inscompany }}</div>
  444. <div>车牌号:{{ licenseNo }}</div>
  445. <div>投保人:{{ applyName }}</div>
  446. <div>交强险起保日期:{{ jqstartdate }}</div>
  447. <div>商业险起保日期:{{ systartdate }}</div>
  448. </div>
  449. </div>
  450. <span slot="footer" class="dialog-footer">
  451. <el-button
  452. size="small"
  453. style="width:100px;background: #EAEDF1;border-color:#EAEDF1;color:#2D4D89 "
  454. @click="codedialogVisiblePro = false"
  455. >关闭</el-button>
  456. </span>
  457. </el-dialog>
  458. <!-- 车辆报价新页面 -->
  459. <detailsDialog ref="detailsDialog" :orderInfo="orderInfo"></detailsDialog>
  460. <!-- 订单轨迹 -->
  461. <el-dialog :visible.sync="ddgjdialogVisible" width="430px">
  462. <div slot="title" class="dialog-title">
  463. <span>订单轨迹</span>
  464. </div>
  465. <div style="height: 300px; overflow-y: auto">
  466. <el-steps direction="vertical" :active="trajectoryTable.length - 1">
  467. <el-step :title="item.orderStatus | cap" :key="item.id" v-for="item in trajectoryTable">
  468. <template slot="description">
  469. <span>保险公司:{{ item.insCompany }}</span>
  470. <span>提交人:{{ item.operator }}</span>
  471. <div>创建时间:{{ item.createTime }}</div>
  472. </template>
  473. </el-step>
  474. </el-steps>
  475. </div>
  476. </el-dialog>
  477. <!-- 报价历史 -->
  478. <el-dialog :visible.sync="quotationhistorydialogVisible" width="90%">
  479. <div slot="title" class="dialog-title">
  480. <img src="../../../../src/icon/报价历史.png" alt class="icon-img" />
  481. <span>报价历史</span>
  482. </div>
  483. <div style="padding: 20px">
  484. <el-table
  485. size="small"
  486. :data="HistoryList"
  487. height="400"
  488. border
  489. style="width: 100%"
  490. v-loading="loading"
  491. :header-cell-style="{
  492. background: '#F2F7FC',
  493. }"
  494. highlight-current-row
  495. >
  496. <el-table-column prop="inscompany" label="保险公司" align="center"></el-table-column>
  497. <el-table-column prop="username" label="业务员" align="center">
  498. <template slot-scope="scope">
  499. <span>{{ scope.row.userName }}({{ scope.row.userId }})</span>
  500. </template>
  501. </el-table-column>
  502. <el-table-column prop="licenseno" label="车牌号" align="center"></el-table-column>
  503. <el-table-column prop="createtime" label="报价时间" align="center"></el-table-column>
  504. <el-table-column prop="jqpremium" label="交强险" align="center"></el-table-column>
  505. <el-table-column prop="sypremium" label="商业险" align="center"></el-table-column>
  506. <el-table-column prop="taxamount" label="车船税" align="center"></el-table-column>
  507. <el-table-column prop="sumpremium" label="总保费" align="center"></el-table-column>
  508. <el-table-column prop="orderstatus" label="状态" align="center">
  509. <template slot-scope="scope">
  510. <el-tag
  511. style="color:#33A08D;border-color:#33A08D;background: rgba(51,160,141,0.1);"
  512. v-if="scope.row.orderstatus=='0'||scope.row.orderstatus=='1'"
  513. size="small"
  514. >{{scope.row.orderstatus | cap}}</el-tag>
  515. <el-tag
  516. type="danger"
  517. style="border-color:#E75B5D ;"
  518. v-else-if="scope.row.orderstatus=='3'"
  519. size="small"
  520. >{{scope.row.orderstatus | cap}}</el-tag>
  521. <el-tag
  522. v-else
  523. style="color:#2D4D89 ;border-color:#2D4D89 ;background: rgba(45, 77, 137,0.1);"
  524. size="small"
  525. >{{scope.row.orderstatus | cap}}</el-tag>
  526. </template>
  527. </el-table-column>
  528. <el-table-column label="操作" align="center" min-width="180" fixed="right">
  529. <template slot-scope="scope">
  530. <el-button
  531. type="text"
  532. size="small"
  533. style="color:#2D4D89 "
  534. @click="OrderDetails(quotationhistoryRow, scope.row)"
  535. >查看详情</el-button>
  536. <el-button size="small" type="text" @click="bjdpreview(scope.row.id,scope.row.userId)">报价单</el-button>
  537. <el-button
  538. size="small"
  539. v-show="scope.row.orderstatus == '2'"
  540. type="text"
  541. @click="carcode(scope.row.userId, scope.row)"
  542. >付款码</el-button>
  543. <el-button
  544. size="mini"
  545. type="text"
  546. v-if="
  547. ( scope.row.orderstatus == '1'|| scope.row.orderstatus == '2' || scope.row.orderstatus == '4') &&
  548. ['紫金财险'].includes(scope.row.inscompany)
  549. "
  550. @click="cancelorder(scope.row)"
  551. >撤单</el-button>
  552. <el-button
  553. type="text"
  554. size="mini"
  555. style="color:#2D4D89 "
  556. v-if="scope.row.orderstatus == '2'"
  557. @click="revokeCode(scope.row.id)"
  558. >撤销二维码</el-button>
  559. <el-button
  560. type="text"
  561. size="mini"
  562. style="color:#2D4D89 "
  563. v-if="
  564. scope.row.orderstatus == '2' &&
  565. [
  566. '太平财险',
  567. '华农财险',
  568. '恒邦财险',
  569. '众安财险',
  570. '中国人寿',
  571. '安盛天平',
  572. '紫金财险',
  573. '永诚财险',
  574. '大家财险',
  575. '华泰财险',
  576. '国任财险',
  577. '中煤财险',
  578. '渤海财险',
  579. ].includes(scope.row.inscompany)
  580. "
  581. @click="querystatus(scope.row, 'history')"
  582. >状态更新</el-button>
  583. </template>
  584. </el-table-column>
  585. </el-table>
  586. </div>
  587. </el-dialog>
  588. <!-- 报价单 -->
  589. <quotationDialog ref="quotationDialog" :queryOrders="queryOrders"></quotationDialog>
  590. <quotationDialogPro ref="quotationDialogPro" :queryOrders="queryOrders"></quotationDialogPro>
  591. </div>
  592. </template>
  593. <script>
  594. let _self;
  595. import { pathToBase64, base64ToPath } from "@/common/image-tools-base64.js";
  596. import CommonUtil from "@/utils/comutil.js";
  597. import Cookies from "js-cookie";
  598. import QRCode from "qrcodejs2";
  599. import quotationDialog from "@/views/Core/components/quotationDialog.vue";
  600. import quotationDialogPro from "@/views/Core/components/quotationDialogPro.vue";
  601. import detailsDialog from "@/views/Core/components/detailsDialog.vue";
  602. export default {
  603. data() {
  604. return {
  605. orderLoaing:false,
  606. qrcodeWidth: "180",
  607. qrcodeHeight: "180",
  608. qrCodeId:Cookies.get("user"),
  609. ddgjdialogVisible: false,
  610. trajectoryTable: [],
  611. queryOrders: {
  612. carinfo: {},
  613. ownerinfo: {},
  614. applyinfo: {},
  615. insureinfo: {},
  616. extendInfo: {}
  617. },
  618. logoImg: "", //报价单保险公司logo图
  619. value2: "",
  620. optionsStatus: [],
  621. codedialogVisible: false,
  622. codedialogVisiblePro: false,
  623. loading: false,
  624. pageNum: 1, //页数
  625. pageSize: 20, //条数
  626. totalSize: null, //总数
  627. peopleid: "", //工号
  628. pageResult: [], //列表
  629. pageRequest: {
  630. //查询的默认条件
  631. orderNo: "",
  632. frameNo: "",
  633. insuredName: "",
  634. licenseNo: "",
  635. orderStatus: "",
  636. userId: "",
  637. endDate: "",
  638. startDate: "",
  639. pageNum: 1,
  640. pageSize: 20,
  641. deptId: ""
  642. },
  643. orderInfo: {
  644. //选中的订单
  645. ownerinfo: {},
  646. carinfo: {},
  647. applyinfo: {},
  648. insureinfo: {},
  649. kindinfo: [],
  650. riskinfo: [],
  651. ownerinfo: {},
  652. orderCommissionVo: {},
  653. extendInfo: {}
  654. },
  655. carImageList: [], //车辆影像
  656. ownerImageList: [], //车主影像
  657. policyImageList: [], //投保人影像
  658. insuredImageList: [], //被保人影像
  659. carCheckImageList: [], //验车照影像
  660. // 影像控制
  661. pic1Control: false,
  662. pic2Control: false,
  663. pic3Control: false,
  664. pic4Control: false,
  665. pic5Control: false,
  666. showInsureList: false, //是否展示具体险种信息
  667. oldfileList: [], //电子保单数据
  668. inscompany: "", //保险公司名称
  669. licenseNo: "", //车牌号
  670. applyName: "", //车主名字
  671. orderstatus: "", //订单状态
  672. sumpremium: "", //保费合计
  673. jqpremium: "", //交强
  674. sypremium: "", //商业
  675. taxamount: "", //车船税
  676. jypremium: "", //驾意险
  677. jqstartdate: "", //交强时间
  678. systartdate: "", //商业时间
  679. mobile: "", //投保人手机号
  680. qrcode: null,
  681. paycodeimg: "",
  682. userid: "",
  683. downloadstatus: 0,
  684. expands: [],
  685. institutionOptions: [],
  686. width: document.documentElement.clientWidth,
  687. insAreaCompanyList: [], //子订单list
  688. companyList: [], //保险公司
  689. querystatusLoaing: false,
  690. quotationhistorydialogVisible: false, //报价历史显示状态
  691. HistoryList: [], //报价历史数据
  692. natureOfVehicleUseoptions: [],
  693. userIdPor:'',
  694. statusPor:'',
  695. };
  696. },
  697. components: { quotationDialog, detailsDialog, quotationDialogPro },
  698. created() {
  699. this.getDicType("natureOfVehicleUse"); //车辆使用性质
  700. this.$api.letter.gainTopList().then(res => {
  701. this.companyList = res.data;
  702. });
  703. this.$api.insCompany.dicType("insOrderStatus").then(res => {
  704. this.optionsStatus = res.data.ddList;
  705. });
  706. this.pageRequest.deptId = JSON.parse(
  707. localStorage.getItem("user_data")
  708. ).deptId;
  709. this.peopleid = Cookies.get("user");
  710. this.$api.dept.findDeptTree().then(res => {
  711. this.institutionOptions = res.data;
  712. });
  713. // this.findPage();
  714. if(this.isLetterOrder){
  715. if (this.peopleid != "admin") {
  716. this.pageRequest.userId = this.peopleid;
  717. this.findPage();
  718. } else {
  719. this.pageRequest.userId = "admin";
  720. }
  721. }
  722. },
  723. props: {
  724. isLetterOrder: {
  725. type: Boolean,
  726. default: true
  727. },
  728. },
  729. mounted() {
  730. window.addEventListener("resize", this.getDimensions);
  731. },
  732. beforeCreate() {
  733. _self = this;
  734. },
  735. // props:{
  736. // isdisabled:{
  737. // type:Boolean,
  738. // default:true
  739. // },
  740. // },
  741. filters: {
  742. cap(ele) {
  743. return _self.optionsStatus.find(item => {
  744. return item.dictValue === ele;
  745. }).dictTag;
  746. }
  747. },
  748. unmounted() {
  749. window.removeEventListener("resize", this.getDimensions);
  750. },
  751. computed: {
  752. allinsOption() {
  753. let cloneData = JSON.parse(JSON.stringify(this.allIns)); // 对源数据深度克隆
  754. return cloneData.filter(father => {
  755. // 循环所有项,并添加children属性
  756. let branchArr = cloneData.filter(child => father.id == child.parentId); // 返回每一项的子级数组
  757. branchArr.length > 0 ? (father.children = branchArr) : ""; //给父级添加一个children属性,并赋值
  758. return father.parentId == 0; //返回第一层
  759. });
  760. },
  761. registerDateFormat() {
  762. let date = new Date(this.orderInfo.carinfo.registerDate);
  763. let year = date.getFullYear();
  764. let month = date.getMonth() + 1;
  765. let day = date.getDate();
  766. return year + "-" + month + "-" + day;
  767. },
  768. issueDateFormat() {
  769. let date = new Date(this.orderInfo.carinfo.issueDate);
  770. let year = date.getFullYear();
  771. let month = date.getMonth() + 1;
  772. let day = date.getDate();
  773. return year + "-" + month + "-" + day;
  774. }
  775. },
  776. methods: {
  777. //报价历史点击事件
  778. onoffQuotationHistory(row) {
  779. this.quotationhistoryRow = row;
  780. this.RadioHistoryChange();
  781. this.quotationhistorydialogVisible = true;
  782. },
  783. //报价轨迹查询
  784. RadioHistoryChange() {
  785. let params = {
  786. orderNo: this.quotationhistoryRow.orderno,
  787. orderStatus: ""
  788. };
  789. this.$api.letter.queryQuoteHistory(params).then(res => {
  790. res.data.forEach(item => {
  791. if (item.accidentInfo) {
  792. item.accidentInfo.constructor === Object
  793. ? [item.accidentInfo]
  794. : item.accidentInfo;
  795. }
  796. });
  797. this.HistoryList = res.data;
  798. });
  799. },
  800. getDicType(type) {
  801. this.$api.insCompany.dicType(type).then(res => {
  802. if (res.code == 200) {
  803. this[type + "options"] = res.data.ddList;
  804. }
  805. });
  806. },
  807. capType(val) {
  808. if (val == "0") {
  809. return "success";
  810. }
  811. if (val == "1") {
  812. return "warning";
  813. }
  814. if (val == "2" || val == "3" || val == "4") {
  815. return "danger";
  816. }
  817. },
  818. // 撤销二维码
  819. revokeCode(id) {
  820. this.$api.letter.getRevokeQrCode(id).then(res => {
  821. if (res.code == 200) {
  822. this.$message({
  823. message: res.msg,
  824. type: "success"
  825. });
  826. this.quotationhistorydialogVisible ? this.RadioHistoryChange() : "";
  827. this.findPage();
  828. }
  829. });
  830. },
  831. bjdpreview(companyId,userId) {
  832. let params = {
  833. companyId: companyId
  834. };
  835. this.$api.letter.getByCompanyId(params).then(res => {
  836. if (res.code == "200") {
  837. var data = res.data;
  838. if (data.kindinfo != null) {
  839. data.kindinfo.map((ele, index) => {
  840. switch (ele.kindCode) {
  841. case "A":
  842. if (ele.amount == 1) {
  843. ele.amount = "投保";
  844. } else {
  845. ele.amount = ele.amount;
  846. }
  847. break;
  848. case "D4":
  849. case "SY_FJ_YBW2":
  850. ele.unitAmount = this.toChinesNum(ele.unitAmount);
  851. break;
  852. case "MJ1":
  853. case "MJ2":
  854. case "MJ3":
  855. case "MJ4":
  856. ele.deductibleRate = ele.deductibleRate + "%";
  857. break;
  858. default:
  859. ele.amount = this.toChinesNum(ele.amount);
  860. }
  861. return ele;
  862. });
  863. }
  864. data.logoImg = this.iconfftter(res.data.inscompany);
  865. this.queryOrders = data;
  866. this.$api.letter.getThemeByUserId().then(res => {
  867. if (res.code==200) {
  868. if(res.data.themeCode=='GD'){
  869. this.$refs.quotationDialogPro.setBackupVisible(true);
  870. }
  871. else {
  872. this.$refs.quotationDialog.setBackupVisible(true);
  873. }
  874. }
  875. })
  876. }
  877. });
  878. },
  879. toChinesNum(num) {
  880. if (num.toString().length == 4) {
  881. let overQian = Math.floor(num / 1000);
  882. let result = overQian + "千";
  883. return result;
  884. } else {
  885. let overWan = Math.floor(num / 10000);
  886. let result = overWan + "万";
  887. return result;
  888. }
  889. },
  890. iconfftter(icon) {
  891. return CommonUtil.getDataName({
  892. dataList: this.global.insCompanyList,
  893. value: "name",
  894. label: "icon",
  895. data: icon
  896. });
  897. },
  898. getRowClass(scope, rowIndex) {
  899. if (scope.row.insAreaCompanyList.length == 0) {
  900. //判断当前行是否有子数据或者根据实际情况设置
  901. return "row-expand-cover";
  902. }
  903. },
  904. getDimensions() {
  905. this.width = document.documentElement.clientWidth - 350 + "px";
  906. },
  907. //订单修改
  908. CloseEdit(index, row) {
  909. this.$api.letter.getByOrderNo({ orderNo: row.orderno }).then(res => {
  910. if(res.code==200){
  911. if(this.isLetterOrder){
  912. this.$router.push({
  913. path: "/letter/letter",
  914. query: { data: res.data },
  915. });
  916. }
  917. else{
  918. res.data.activeName='999'
  919. this.$emit('orderEdit',res.data)
  920. }
  921. }
  922. else{
  923. this.$message.error(res.msg)
  924. }
  925. });
  926. },
  927. //二维码生成插件
  928. creatQrCode(text) {
  929. if (this.qrcode) {
  930. this.qrcode.clear();
  931. this.qrcode.makeCode(text);
  932. } else {
  933. this.qrcode = new QRCode("qrcode", {
  934. text: text,
  935. width: this.qrcodeWidth,
  936. height: this.qrcodeHeight,
  937. colorDark: "#000000",
  938. colorLight: "#ffffff",
  939. correctLevel: QRCode.CorrectLevel.H
  940. });
  941. }
  942. },
  943. //查询缴费状态
  944. refreshStatus(item) {
  945. let inscompany = {
  946. 国任财险: "updateOrderInfoGuoren",
  947. 华泰财险: "orderStatushuatai",
  948. 大家财险: "updateOrderInfoDajia",
  949. 中煤财险: "orderStatuszhongmei",
  950. 太平财险: "auditStatusQuery",
  951. 华农财险: "auditStatusQuery",
  952. 恒邦财险: "auditStatusQuery",
  953. 众安财险: "auditStatusQuery",
  954. 中国人寿: "auditStatusQuery",
  955. 安盛天平: "auditStatusQuery",
  956. 紫金财险: "auditStatusQueryZijin",
  957. 渤海财险: "orderStatusbohai"
  958. };
  959. Object.keys(inscompany).forEach(val => {
  960. if (val == item.inscompany) {
  961. this.$api.letter[inscompany[val]]({ companyId: item.id }).then(
  962. res => {
  963. if (res.code == 200) {
  964. this.$message({
  965. message: res.msg ? res.msg : "已刷新状态",
  966. type: "success"
  967. });
  968. this.findPage();
  969. } else {
  970. this.$message({
  971. showClose: true,
  972. dangerouslyUseHTMLString: true,
  973. message: res.msg.replace(/\n/g, "<br><br>"),
  974. type: "error",
  975. duration: 7000
  976. });
  977. // this.$message({ message: res.msg, type: "error" });
  978. }
  979. }
  980. );
  981. }
  982. });
  983. if (item.inscompany == "永诚财险") {
  984. this.$api.letter.orderStatusyongcheng(item.id).then(res => {
  985. if (res.code == 200) {
  986. this.$message({
  987. message: res.msg ? res.msg : "已刷新状态",
  988. type: "success"
  989. });
  990. this.findPage();
  991. } else {
  992. this.$message({
  993. showClose: true,
  994. dangerouslyUseHTMLString: true,
  995. message: res.msg.replace(/\n/g, "<br><br>"),
  996. type: "error",
  997. duration: 7000
  998. });
  999. }
  1000. });
  1001. }
  1002. },
  1003. //华泰刷新核保状态
  1004. updateStatusHuatai(item) {
  1005. this.$api.letter.orderStatushuatai({ companyId: item.id }).then(res => {
  1006. if (res.code == 200) {
  1007. this.$message({
  1008. message: res.msg ? res.msg : "已刷新状态",
  1009. type: "success"
  1010. });
  1011. this.findPage();
  1012. } else {
  1013. this.$message({
  1014. showClose: true,
  1015. dangerouslyUseHTMLString: true,
  1016. message: res.msg.replace(/\n/g, "<br><br>"),
  1017. type: "error",
  1018. duration: 7000
  1019. });
  1020. }
  1021. });
  1022. },
  1023. //查询缴费状态
  1024. querystatus(item, index) {
  1025. this.querystatusLoaing = true;
  1026. let inscompany = {
  1027. 国任财险: "updateOrderInfoGuoren",
  1028. 华泰财险: "updateOrderInfoHuatai",
  1029. 大家财险: "updateOrderInfoDajia",
  1030. 紫金财险: "getOrderDetail",
  1031. 中煤财险: "paymentEnquiry",
  1032. 渤海财险: "getOrderDetailboHai"
  1033. };
  1034. Object.keys(inscompany).forEach(val => {
  1035. if (val == item.inscompany) {
  1036. this.$api.letter[inscompany[val]]({ companyId: item.id }).then(
  1037. res => {
  1038. if (res.code == 200) {
  1039. this.$message({
  1040. message: res.msg ? res.msg : "已刷新状态",
  1041. type: "success"
  1042. });
  1043. this.quotationhistorydialogVisible
  1044. ? this.RadioHistoryChange()
  1045. : "";
  1046. this.findPage();
  1047. this.querystatusLoaing = false;
  1048. } else {
  1049. this.querystatusLoaing = false;
  1050. this.$message({ message: res.msg, type: "error" });
  1051. }
  1052. }
  1053. );
  1054. }
  1055. });
  1056. if (item.inscompany == "永诚财险") {
  1057. this.$api.letter.orderStatusyongcheng(item.id).then(res => {
  1058. if (res.code == 200) {
  1059. this.$message({
  1060. message: res.msg ? res.msg : "已刷新状态",
  1061. type: "success"
  1062. });
  1063. this.quotationhistorydialogVisible ? this.RadioHistoryChange() : "";
  1064. this.findPage();
  1065. this.querystatusLoaing = false;
  1066. } else {
  1067. this.querystatusLoaing = false;
  1068. this.$message({ message: res.msg, type: "error" });
  1069. }
  1070. });
  1071. }
  1072. if (
  1073. item.inscompany == "恒邦财险" ||
  1074. item.inscompany == "众安财险" ||
  1075. item.inscompany == "中国人寿" ||
  1076. item.inscompany == "安盛天平" ||
  1077. item.inscompany == "太平财险" ||
  1078. item.inscompany == "华农财险"
  1079. ) {
  1080. this.$api.letter
  1081. .pychonverifyPayment({ subOrderNo: item.id })
  1082. .then(res => {
  1083. if (res.code == "200") {
  1084. this.$message({
  1085. message: "订单支付成功,正在更改状态",
  1086. type: "success"
  1087. });
  1088. this.quotationhistorydialogVisible
  1089. ? this.RadioHistoryChange()
  1090. : "";
  1091. this.findPage();
  1092. this.querystatusLoaing = false;
  1093. } else {
  1094. this.querystatusLoaing = false;
  1095. this.$message({ message: res.msg, type: "error" });
  1096. }
  1097. });
  1098. }
  1099. },
  1100. cancelorder(item) {
  1101. this.$api.letter.zijincancelorder({ companyId: item.id }).then(res => {
  1102. if (res.code == 200) {
  1103. this.$message({
  1104. message: res.msg,
  1105. type: "success"
  1106. });
  1107. this.findPage();
  1108. }
  1109. });
  1110. },
  1111. //二维码
  1112. carcode(userId, item) {
  1113. this.$api.letter.getQrCode(item.id).then(res => {
  1114. if (res.code == "200") {
  1115. this.inscompany = res.data.inscompany; //保险公司
  1116. this.sumpremium = res.data.sumpremium; //总价
  1117. this.licenseNo = res.data.cPlateNo; //车牌号
  1118. this.applyName = res.data.cInsuredNme; //车主
  1119. this.jqpremium = res.data.jqpremium; //交强
  1120. this.sypremium = res.data.sypremium; //商业
  1121. this.taxamount = res.data.taxamount; //车船税
  1122. this.jypremium = res.data.jypremium; //驾意险
  1123. this.jqstartdate = res.data.jqStartDate; //交强起保日期
  1124. this.systartdate = res.data.syStartDate; //商业起保日期
  1125. // this.mobile = res.data.applyinfo.mobile;//投保人手机号
  1126. this.$nextTick(() => {
  1127. if (item.inscompany == "太平财险") {
  1128. let anresult = res.data.qrCodeUrl.replace(/[\r\n]/g, "");
  1129. let animgBase64 = `data:image/png;base64,${anresult}`;
  1130. base64ToPath(animgBase64).then(path => {
  1131. this.paycodeimg = path;
  1132. });
  1133. } else {
  1134. this.creatQrCode(res.data.qrCodeUrl);
  1135. }
  1136. });
  1137. this.$api.letter.getThemeByUserId().then(res => {
  1138. if (res.code==200) {
  1139. if(res.data.themeCode=='GD'){
  1140. this.codedialogVisiblePro = true;
  1141. this.qrcodeWidth = "154";
  1142. this.qrcodeHeight = "154";
  1143. }
  1144. else {
  1145. this.codedialogVisible = true;
  1146. }
  1147. }
  1148. })
  1149. } else {
  1150. this.$message({ message: res.msg, type: "warning" });
  1151. }
  1152. });
  1153. // this.$api.letter.getByCompanyId(params).then(res => {
  1154. // if (res.code == '200') {
  1155. // this.inscompany = res.data.inscompany;//保险公司
  1156. // this.sumpremium = res.data.sumpremium;//总价
  1157. // this.licenseNo = res.data.carinfo.licenseNo;//车牌号
  1158. // this.applyName = res.data.insuredname;//车主
  1159. // this.jqpremium = res.data.jqpremium;//交强
  1160. // this.sypremium = res.data.sypremium;//商业
  1161. // this.taxamount = res.data.taxamount;//车船税
  1162. // this.jypremium = res.data.jypremium;//驾意险
  1163. // this.jqstartdate = res.data.jqstartdate;//交强起保日期
  1164. // this.systartdate = res.data.systartdate;//商业起保日期
  1165. // this.mobile = res.data.applyinfo.mobile;//投保人手机号
  1166. // switch (item.inscompany) {
  1167. // case "永安财险":
  1168. // let url = this.global.h5BaseUrl + '/#/pages/carInsure1/yonganCode?companyId=' + item.id + '&mobile=' + this.mobile;
  1169. // this.$nextTick(() => {
  1170. // this.creatQrCode(url);
  1171. // });
  1172. // break;
  1173. // case "人保财险":
  1174. // case "中煤财险":
  1175. // case "华泰财险":
  1176. // case "永诚财险":
  1177. // case "紫金财险":
  1178. // this.$nextTick(() => {
  1179. // this.creatQrCode(res.data.paymentLink);
  1180. // });
  1181. // break;
  1182. // case "众安财险":
  1183. // this.paycodeimg = res.data.paymentLink;
  1184. // break;
  1185. // case "中国人寿":
  1186. // this.$nextTick(() => {
  1187. // this.creatQrCode(res.data.paymentLink);
  1188. // });
  1189. // break;
  1190. // case "恒邦财险":
  1191. // this.paycodeimg = res.data.paymentLink;
  1192. // break;
  1193. // case "国任财险":
  1194. // this.paycodeimg = res.data.paymentLink;
  1195. // break;
  1196. // case "安盛天平":
  1197. // let anresult = res.data.paymentLink.replace(/[\r\n]/g, "");
  1198. // let animgBase64 = `data:image/png;base64,${anresult}`;
  1199. // base64ToPath(animgBase64)
  1200. // .then(path => {
  1201. // this.paycodeimg = path;
  1202. // })
  1203. // break;
  1204. // default:
  1205. // this.$message({ message: "识别不到保险公司,请检查", type: "warning" })
  1206. // }
  1207. // this.codedialogVisible = true;
  1208. // } else {
  1209. // this.$message({ message: res.msg, type: "warning" })
  1210. // }
  1211. // })
  1212. },
  1213. orderTrajectory(row, item) {
  1214. this.$api.letter.queryBySuborder(item.id).then(res => {
  1215. if (res.code == 200 && res.data.length > 0) {
  1216. this.ddgjdialogVisible = true;
  1217. this.trajectoryTable = res.data;
  1218. } else {
  1219. this.$message({
  1220. message: res.msg || "暂无数据!",
  1221. type: "warning"
  1222. });
  1223. }
  1224. });
  1225. },
  1226. natureOfVehicleUseCap(ele) {
  1227. if (this.natureOfVehicleUseoptions.find(item => item.dictValue == ele)) {
  1228. return this.natureOfVehicleUseoptions.find(item => {
  1229. return item.dictValue === ele;
  1230. }).dictTag;
  1231. } else {
  1232. return "";
  1233. }
  1234. },
  1235. //应用详情
  1236. OrderDetails(dy, item) {
  1237. this.carImageList = [];
  1238. this.ownerImageList = []; //车主影像
  1239. this.policyImageList = []; //投保人影像
  1240. this.insuredImageList = []; //被保人影像
  1241. this.carCheckImageList = []; //验车照影像
  1242. // 影像控制
  1243. this.pic1Control = false;
  1244. this.pic2Control = false;
  1245. this.pic3Control = false;
  1246. this.pic4Control = false;
  1247. this.pic5Control = false;
  1248. for (let i = 0; i < this.global.insureList.length; i++) {
  1249. this.global.insureList[i].coveragePremium = "";
  1250. this.global.insureList[i].amount = 0;
  1251. }
  1252. let params = {
  1253. companyId: item.id
  1254. };
  1255. this.$api.letter.getByCompanyId(params).then(res => {
  1256. if (res.code == 200) {
  1257. this.licenseNo = res.data.licenseno; //车牌号
  1258. this.inscompany = res.data.inscompany; //保险公司
  1259. res.data.carinfo.carnature = this.natureOfVehicleUseCap(
  1260. res.data.carinfo.carnature
  1261. );
  1262. if (res.data.accidentInfo) {
  1263. res.data.accidentInfo.constructor === Object
  1264. ? [res.data.accidentInfo]
  1265. : res.data.accidentInfo;
  1266. }
  1267. Object.assign(this.orderInfo, res.data);
  1268. if (this.orderInfo.riskinfo && this.orderInfo.riskinfo.length > 0) {
  1269. for (let i = 0; i < this.orderInfo.riskinfo.length; i++) {
  1270. if (this.orderInfo.riskinfo[i].riskCode == "0510") {
  1271. for (let j = 0; j < this.orderInfo.kindinfo.length; j++) {
  1272. for (let m = 0; m < this.global.insureList.length; m++) {
  1273. if (
  1274. this.orderInfo.kindinfo[j].kindCode ==
  1275. this.global.insureList[m].kindCode
  1276. ) {
  1277. this.global.insureList[
  1278. m
  1279. ].coveragePremium = this.orderInfo.kindinfo[
  1280. j
  1281. ].coveragePremium;
  1282. if (this.orderInfo.kindinfo[j].kindCode == "B") {
  1283. this.global.insureList[9].amtList[0].value = this.orderInfo.kindinfo[
  1284. j
  1285. ].amount;
  1286. }
  1287. if (this.orderInfo.kindinfo[j].kindCode == "A") {
  1288. this.global.insureList[m].amount = "1";
  1289. } else if (this.global.insureList[m].kindCode == "D4") {
  1290. this.global.insureList[
  1291. m
  1292. ].amount = this.orderInfo.kindinfo[j].unitAmount;
  1293. } else if (
  1294. this.global.insureList[m].isMainRisk ||
  1295. this.global.insureList[m].kindCode == "BD" ||
  1296. this.global.insureList[m].kindCode == "L"
  1297. ) {
  1298. this.global.insureList[
  1299. m
  1300. ].amount = this.orderInfo.kindinfo[j].amount;
  1301. } else {
  1302. this.global.insureList[
  1303. m
  1304. ].amount = this.orderInfo.kindinfo[j].deductibleRate;
  1305. }
  1306. }
  1307. }
  1308. }
  1309. }
  1310. }
  1311. }
  1312. // 获取影像
  1313. this.$api.letter.findByQuoteNo(dy.quoteno).then(resImage => {
  1314. Object.keys(resImage.data).forEach(keys => {
  1315. if (resImage.data[keys]) {
  1316. resImage.data[keys].url = resImage.data[keys].url
  1317. ? process.env.BASE_URL + resImage.data[keys].url
  1318. : null;
  1319. switch (keys) {
  1320. case "C01":
  1321. case "D01":
  1322. resImage.data[keys].url
  1323. ? this.carImageList.push(resImage.data[keys].url)
  1324. : "";
  1325. break;
  1326. case "C02":
  1327. case "D02":
  1328. resImage.data[keys].url
  1329. ? this.ownerImageList.push(resImage.data[keys].url)
  1330. : "";
  1331. break;
  1332. case "C03":
  1333. case "D03":
  1334. resImage.data[keys].url
  1335. ? this.policyImageList.push(resImage.data[keys].url)
  1336. : "";
  1337. break;
  1338. case "C04":
  1339. case "D04":
  1340. resImage.data[keys].url
  1341. ? this.insuredImageList.push(resImage.data[keys].url)
  1342. : "";
  1343. break;
  1344. case "XC00":
  1345. case "GC00":
  1346. case "GX00":
  1347. resImage.data[keys].url
  1348. ? this.carCheckImageList.push(resImage.data[keys].url)
  1349. : "";
  1350. break;
  1351. default:
  1352. break;
  1353. }
  1354. }
  1355. });
  1356. let obj = {
  1357. carImageList: this.carImageList,
  1358. ownerImageList: this.ownerImageList,
  1359. policyImageList: this.policyImageList,
  1360. insuredImageList: this.insuredImageList,
  1361. carCheckImageList: this.carCheckImageList
  1362. };
  1363. this.$refs.detailsDialog.imageFun(obj);
  1364. });
  1365. this.pic1Control = false;
  1366. this.pic2Control = false;
  1367. this.pic3Control = false;
  1368. this.pic4Control = false;
  1369. this.pic5Control = false;
  1370. this.oldfileList = [];
  1371. let businessList = [];
  1372. let accidentList = [];
  1373. if (res.data.orderstatus == "3") {
  1374. switch (res.data.inscompany) {
  1375. case "永安财险":
  1376. if (this.orderInfo.jqpolicyno) {
  1377. this.$api.letter
  1378. .getPolicyPrint({
  1379. companyId: item.id,
  1380. policytype: "jq"
  1381. })
  1382. .then(res => {
  1383. //交强保单
  1384. if (res.data) {
  1385. let result = res.data.replace(/[\r\n]/g, "");
  1386. let pdfBase64 = `data:application/pdf;base64,${result}`;
  1387. base64ToPath(pdfBase64).then(path => {
  1388. if (path) {
  1389. this.oldfileList.push({
  1390. fileTitle: "交强电子保单",
  1391. filename: this.orderInfo.jqpolicyno,
  1392. fileurl: path
  1393. });
  1394. }
  1395. });
  1396. }
  1397. });
  1398. this.$api.letter
  1399. .getPolicyPrint2({
  1400. companyId: item.id,
  1401. policytype: "jq"
  1402. })
  1403. .then(res => {
  1404. //交强保单
  1405. if (res.data) {
  1406. let result = res.data.replace(/[\r\n]/g, "");
  1407. let pdfBase64 = `data:application/pdf;base64,${result}`;
  1408. base64ToPath(pdfBase64).then(path => {
  1409. if (path) {
  1410. this.oldfileList.push({
  1411. fileTitle: "交强电子标志",
  1412. filename: this.orderInfo.jqpolicyno,
  1413. fileurl: path
  1414. });
  1415. }
  1416. });
  1417. }
  1418. });
  1419. }
  1420. if (this.orderInfo.sypolicyno) {
  1421. this.$api.letter
  1422. .getPolicyPrint({
  1423. companyId: item.id,
  1424. policytype: "sy"
  1425. })
  1426. .then(res => {
  1427. //商业保单
  1428. if (res.data) {
  1429. let result = res.data.replace(/[\r\n]/g, "");
  1430. let pdfBase64 = `data:application/pdf;base64,${result}`;
  1431. base64ToPath(pdfBase64).then(path => {
  1432. if (path) {
  1433. businessList.push({
  1434. fileTitle: "商业电子保单",
  1435. filename: this.orderInfo.sypolicyno,
  1436. fileurl: path
  1437. });
  1438. }
  1439. });
  1440. }
  1441. });
  1442. }
  1443. break;
  1444. case "华泰财险":
  1445. if (this.orderInfo.jqpolicyno) {
  1446. this.$api.letter
  1447. .HuataigetPolicyPrint({
  1448. companyId: item.id,
  1449. riskCode: "0507",
  1450. type: "2" //2:保单
  1451. })
  1452. .then(res => {
  1453. if (res.data) {
  1454. if (res.data.jqxPolicyUrl) {
  1455. this.oldfileList.push({
  1456. fileTitle: "交强电子保单",
  1457. filename: this.orderInfo.jqpolicyno,
  1458. fileurl: res.data.jqxPolicyUrl
  1459. });
  1460. }
  1461. if (res.data.jqxFlagUrl) {
  1462. this.oldfileList.push({
  1463. fileTitle: "交强电子标志",
  1464. filename: this.orderInfo.jqpolicyno,
  1465. fileurl: res.data.jqxFlagUrl
  1466. });
  1467. }
  1468. } else {
  1469. this.$message.error(res.msg);
  1470. }
  1471. });
  1472. }
  1473. if (this.orderInfo.sypolicyno) {
  1474. this.$api.letter
  1475. .HuataigetPolicyPrint({
  1476. companyId: item.id,
  1477. riskCode: "0510",
  1478. type: "2" //2:保单
  1479. })
  1480. .then(res => {
  1481. if (res.data && res.data.syxPolicyUrl) {
  1482. businessList.push({
  1483. fileTitle: "商业电子保单",
  1484. filename: this.orderInfo.sypolicyno,
  1485. fileurl: res.data.syxPolicyUrl
  1486. });
  1487. } else {
  1488. this.$message.error(res.msg);
  1489. }
  1490. });
  1491. }
  1492. break;
  1493. case "中煤财险":
  1494. if (this.orderInfo.jqpolicyno) {
  1495. this.$api.letter
  1496. .ZhongmeigetPolicyPrint({
  1497. companyId: item.id,
  1498. riskCode: "0507",
  1499. type: "2" //2:保单
  1500. })
  1501. .then(res => {
  1502. if (res.data && res.data[0]) {
  1503. this.oldfileList.push({
  1504. fileTitle: "交强电子保单",
  1505. filename: this.orderInfo.jqpolicyno,
  1506. fileurl: res.data[0]
  1507. });
  1508. } else {
  1509. this.$message.error(res.msg);
  1510. }
  1511. });
  1512. this.$api.letter
  1513. .ZhongmeigetPolicyPrint({
  1514. companyId: item.id,
  1515. riskCode: "0507",
  1516. type: "1" // 1:标志
  1517. })
  1518. .then(res => {
  1519. if (res.data && res.data[0]) {
  1520. this.oldfileList.push({
  1521. fileTitle: "交强电子标志",
  1522. filename: this.orderInfo.jqpolicyno,
  1523. fileurl: res.data[0]
  1524. });
  1525. } else {
  1526. this.$message.error(res.msg);
  1527. }
  1528. });
  1529. }
  1530. if (this.orderInfo.sypolicyno) {
  1531. this.$api.letter
  1532. .ZhongmeigetPolicyPrint({
  1533. companyId: item.id,
  1534. riskCode: "0510",
  1535. type: "2" //2:保单
  1536. })
  1537. .then(res => {
  1538. if (res.data && res.data[0]) {
  1539. businessList.push({
  1540. fileTitle: "商业电子保单",
  1541. filename: this.orderInfo.sypolicyno,
  1542. fileurl: res.data[0]
  1543. });
  1544. } else {
  1545. this.$message.error(res.msg);
  1546. }
  1547. });
  1548. }
  1549. if (this.orderInfo.crossInsurance.length > 0) {
  1550. this.orderInfo.crossInsurance.map(ele => {
  1551. this.$api.letter
  1552. .ZhongmeigetPolicyPrint({
  1553. ridePolicyNo: ele.ridePolicyNo,
  1554. companyId: item.id,
  1555. riskCode: "0513",
  1556. type: "2" //2:保单
  1557. })
  1558. .then(res => {
  1559. if (res.code == 200 && res.data) {
  1560. accidentList.push({
  1561. fileTitle: "驾意险保单",
  1562. filename: this.orderInfo.sypolicyno,
  1563. fileurl: res.data[0]
  1564. });
  1565. } else {
  1566. this.$message.error(res.msg);
  1567. }
  1568. });
  1569. });
  1570. }
  1571. break;
  1572. case "永诚财险":
  1573. if (this.orderInfo.jqpolicyno) {
  1574. this.$api.letter
  1575. .yongchenggetPolicyPrint({
  1576. companyId: item.id,
  1577. riskCode: "0507",
  1578. type: "2" //2:保单
  1579. })
  1580. .then(res => {
  1581. if (res.code == 200 && res.data) {
  1582. if (res.data.jqUrl) {
  1583. this.oldfileList.push({
  1584. fileTitle: "交强电子保单",
  1585. filename: this.orderInfo.jqpolicyno,
  1586. fileurl: res.data.jqUrl
  1587. });
  1588. }
  1589. if (res.data.jqFlagUrl) {
  1590. this.oldfileList.push({
  1591. fileTitle: "交强电子标志",
  1592. filename: this.orderInfo.jqpolicyno,
  1593. fileurl: res.data.jqFlagUrl
  1594. });
  1595. }
  1596. } else {
  1597. this.$message.error(res.msg);
  1598. }
  1599. });
  1600. }
  1601. if (this.orderInfo.sypolicyno) {
  1602. this.$api.letter
  1603. .yongchenggetPolicyPrint({
  1604. companyId: item.id,
  1605. riskCode: "0510",
  1606. type: "2" //2:保单
  1607. })
  1608. .then(res => {
  1609. if (res.data && res.data.syUrl) {
  1610. businessList.push({
  1611. fileTitle: "商业电子保单",
  1612. filename: this.orderInfo.sypolicyno,
  1613. fileurl: res.data.syUrl
  1614. });
  1615. } else {
  1616. this.$message.error(res.msg);
  1617. }
  1618. });
  1619. }
  1620. if (this.orderInfo.crossInsurance.length > 0) {
  1621. this.orderInfo.crossInsurance.map(ele => {
  1622. this.$api.letter
  1623. .yongchenggetPolicyPrint({
  1624. companyId: item.id,
  1625. policyNumber: ele.policyNumber,
  1626. riskCode: "0513",
  1627. type: "2" //2:保单
  1628. })
  1629. .then(res => {
  1630. if (res.code == 200 && res.data) {
  1631. accidentList.push({
  1632. fileTitle: "驾意险保单",
  1633. filename: ele.policyNumber,
  1634. fileurl: res.data.jyUrl
  1635. });
  1636. } else {
  1637. this.$message.error(res.msg);
  1638. }
  1639. });
  1640. });
  1641. }
  1642. break;
  1643. case "国任财险":
  1644. if (this.orderInfo.jqpolicyno) {
  1645. this.$api.letter
  1646. .guoRengetPolicyPrint({
  1647. companyId: item.id,
  1648. riskCode: "0507",
  1649. type: "2" //2:保单
  1650. })
  1651. .then(res => {
  1652. if (res.data) {
  1653. this.oldfileList.push({
  1654. fileTitle: "交强电子保单",
  1655. filename: this.orderInfo.jqpolicyno,
  1656. fileurl: res.data
  1657. });
  1658. } else {
  1659. this.$message.error(res.msg);
  1660. }
  1661. });
  1662. this.$api.letter
  1663. .guoRengetPolicyPrint({
  1664. companyId: item.id,
  1665. riskCode: "0507",
  1666. type: "1" //1:标志
  1667. })
  1668. .then(res => {
  1669. if (res.data) {
  1670. this.oldfileList.push({
  1671. fileTitle: "交强电子标志",
  1672. filename: this.orderInfo.jqpolicyno,
  1673. fileurl: res.data
  1674. });
  1675. } else {
  1676. this.$message.error(res.msg);
  1677. }
  1678. });
  1679. }
  1680. if (this.orderInfo.sypolicyno) {
  1681. this.$api.letter
  1682. .guoRengetPolicyPrint({
  1683. companyId: item.id,
  1684. riskCode: "0510",
  1685. type: "2" //2:保单
  1686. })
  1687. .then(res => {
  1688. if (res.data) {
  1689. businessList.push({
  1690. fileTitle: "商业电子保单",
  1691. filename: this.orderInfo.sypolicyno,
  1692. fileurl: res.data
  1693. });
  1694. } else {
  1695. this.$message.error(res.msg);
  1696. }
  1697. });
  1698. }
  1699. if (this.orderInfo.crossInsurance.length > 0) {
  1700. this.orderInfo.crossInsurance.map(ele => {
  1701. this.$api.letter
  1702. .guoRengetPolicyPrint({
  1703. companyId: item.id,
  1704. policyNumber: ele.policyNumber,
  1705. riskCode: "0513",
  1706. type: "2" //2:保单
  1707. })
  1708. .then(res => {
  1709. if (res.data) {
  1710. accidentList.push({
  1711. fileTitle: "驾意险保单",
  1712. filename: ele.policyNumber,
  1713. fileurl: res.data
  1714. });
  1715. } else {
  1716. this.$message.error(res.msg);
  1717. }
  1718. });
  1719. });
  1720. }
  1721. break;
  1722. case "紫金财险":
  1723. if (this.orderInfo.jqpolicyno) {
  1724. this.$api.letter
  1725. .zijingetPolicyPrint({
  1726. companyId: item.id,
  1727. riskCode: "0507",
  1728. type: "2" //2:保单
  1729. })
  1730. .then(res => {
  1731. if (res.data) {
  1732. this.oldfileList.push({
  1733. fileTitle: "交强电子保单",
  1734. filename: this.orderInfo.jqpolicyno,
  1735. fileurl: res.data
  1736. });
  1737. } else {
  1738. this.$message.error(res.msg);
  1739. }
  1740. });
  1741. this.$api.letter
  1742. .zijingetPolicyPrint({
  1743. companyId: item.id,
  1744. riskCode: "0507",
  1745. type: "1" //1:标志
  1746. })
  1747. .then(res => {
  1748. if (res.data) {
  1749. this.oldfileList.push({
  1750. fileTitle: "交强电子标志",
  1751. filename: this.orderInfo.jqpolicyno,
  1752. fileurl: res.data
  1753. });
  1754. } else {
  1755. this.$message.error(res.msg);
  1756. }
  1757. });
  1758. }
  1759. if (this.orderInfo.sypolicyno) {
  1760. this.$api.letter
  1761. .zijingetPolicyPrint({
  1762. companyId: item.id,
  1763. riskCode: "0510",
  1764. type: "2" //2:保单
  1765. })
  1766. .then(res => {
  1767. if (res.data) {
  1768. businessList.push({
  1769. fileTitle: "商业电子保单",
  1770. filename: this.orderInfo.sypolicyno,
  1771. fileurl: res.data
  1772. });
  1773. } else {
  1774. this.$message.error(res.msg);
  1775. }
  1776. });
  1777. }
  1778. if (this.orderInfo.crossInsurance.length > 0) {
  1779. this.orderInfo.crossInsurance.map(ele => {
  1780. this.$api.letter
  1781. .zijingetPolicyPrint({
  1782. companyId: item.id,
  1783. policyNumber: ele.policyNumber,
  1784. riskCode: "0513",
  1785. type: "2" //2:保单
  1786. })
  1787. .then(res => {
  1788. if (res.data) {
  1789. accidentList.push({
  1790. fileTitle: "驾意险保单",
  1791. filename: ele.policyNumber,
  1792. fileurl: res.data
  1793. });
  1794. } else {
  1795. this.$message.error(res.msg);
  1796. }
  1797. });
  1798. });
  1799. }
  1800. break;
  1801. case "渤海财险":
  1802. if (this.orderInfo.jqpolicyno) {
  1803. this.$api.letter
  1804. .getPolicyPrintboHai({
  1805. companyId: item.id
  1806. })
  1807. .then(res => {
  1808. if (res.code == 200 && res.data) {
  1809. if (res.data.jqxPolicyUrl) {
  1810. this.oldfileList.push({
  1811. fileTitle: "交强电子保单",
  1812. filename: this.orderInfo.jqpolicyno,
  1813. fileurl: res.data.jqxPolicyUrl
  1814. });
  1815. }
  1816. if (res.data.jqxFlagUrl) {
  1817. this.oldfileList.push({
  1818. fileTitle: "交强电子标志",
  1819. filename: this.orderInfo.jqpolicyno,
  1820. fileurl: res.data.jqxFlagUrl
  1821. });
  1822. }
  1823. if (res.data.syxPolicyUrl) {
  1824. businessList.push({
  1825. fileTitle: "商业电子保单",
  1826. filename: this.orderInfo.sypolicyno,
  1827. fileurl: res.data.syxPolicyUrl
  1828. });
  1829. }
  1830. if (
  1831. res.data.jyxInfoList &&
  1832. res.data.jyxInfoList.length > 0
  1833. ) {
  1834. res.data.jyxInfoList.forEach(val => {
  1835. accidentList.push({
  1836. fileTitle: "驾意险保单",
  1837. filename: "驾意险保单",
  1838. fileurl: val.jyx_policy_url
  1839. });
  1840. });
  1841. }
  1842. } else {
  1843. this.$message.error(res.msg);
  1844. }
  1845. });
  1846. }
  1847. break;
  1848. case "恒邦财险":
  1849. case "安盛天平":
  1850. case "中国人寿":
  1851. case "太平财险":
  1852. case "华农财险":
  1853. case "众安财险":
  1854. if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
  1855. this.$api.letter
  1856. .pythongetPolicyPrint({
  1857. subOrderNo: item.id
  1858. })
  1859. .then(res => {
  1860. if (res.code == 200 && res.data) {
  1861. if (res.data.jqxPolicyUrl) {
  1862. this.oldfileList.push({
  1863. fileTitle: "交强电子保单",
  1864. filename: this.orderInfo.jqpolicyno,
  1865. fileurl: res.data.jqxPolicyUrl
  1866. });
  1867. }
  1868. if (res.data.jqxFlagUrl) {
  1869. this.oldfileList.push({
  1870. fileTitle: "交强电子标志",
  1871. filename: this.orderInfo.jqpolicyno,
  1872. fileurl: res.data.jqxFlagUrl
  1873. });
  1874. }
  1875. if (res.data.syxPolicyUrl) {
  1876. businessList.push({
  1877. fileTitle: "商业电子保单",
  1878. filename: this.orderInfo.sypolicyno,
  1879. fileurl: res.data.syxPolicyUrl
  1880. });
  1881. }
  1882. if (
  1883. res.data.jyxInfoList &&
  1884. res.data.jyxInfoList.length > 0
  1885. ) {
  1886. res.data.jyxInfoList.forEach(val => {
  1887. accidentList.push({
  1888. fileTitle: "驾意险保单",
  1889. filename: "驾意险保单",
  1890. fileurl: val.jyx_policy_url
  1891. });
  1892. });
  1893. }
  1894. } else {
  1895. this.$message.error(res.msg);
  1896. }
  1897. });
  1898. }
  1899. break;
  1900. case "大家财险":
  1901. if (this.orderInfo.jqpolicyno) {
  1902. this.$api.letter
  1903. .obtainWarranty({
  1904. companyId: item.id,
  1905. riskCode: "0507",
  1906. type: "2" //2:保单
  1907. })
  1908. .then(res => {
  1909. if (res.data) {
  1910. this.oldfileList.push({
  1911. fileTitle: "交强电子保单",
  1912. filename: this.orderInfo.jqpolicyno,
  1913. fileurl: res.data
  1914. });
  1915. } else {
  1916. this.$message.error(res.msg);
  1917. }
  1918. });
  1919. this.$api.letter
  1920. .obtainWarranty({
  1921. companyId: item.id,
  1922. riskCode: "0507",
  1923. type: "1" //1:标志
  1924. })
  1925. .then(res => {
  1926. if (res.data) {
  1927. this.oldfileList.push({
  1928. fileTitle: "交强电子标志",
  1929. filename: this.orderInfo.jqpolicyno,
  1930. fileurl: res.data
  1931. });
  1932. } else {
  1933. this.$message.error(res.msg);
  1934. }
  1935. });
  1936. }
  1937. if (this.orderInfo.sypolicyno) {
  1938. this.$api.letter
  1939. .obtainWarranty({
  1940. companyId: item.id,
  1941. riskCode: "0510",
  1942. type: "2" //2:保单
  1943. })
  1944. .then(res => {
  1945. if (res.data) {
  1946. businessList.push({
  1947. fileTitle: "商业电子保单",
  1948. filename: this.orderInfo.sypolicyno,
  1949. fileurl: res.data
  1950. });
  1951. }
  1952. });
  1953. }
  1954. if (this.orderInfo.crossInsurance.length > 0) {
  1955. this.orderInfo.crossInsurance.map(ele => {
  1956. this.$api.letter
  1957. .zijingetPolicyPrint({
  1958. companyId: item.id,
  1959. policyNumber: ele.policyNumber,
  1960. riskCode: "0513",
  1961. type: "2" //2:保单
  1962. })
  1963. .then(res => {
  1964. if (res.data) {
  1965. accidentList.push({
  1966. fileTitle: "驾意险保单",
  1967. filename: ele.policyNumber,
  1968. fileurl: res.data
  1969. });
  1970. } else {
  1971. this.$message.error(res.msg);
  1972. }
  1973. });
  1974. });
  1975. }
  1976. break;
  1977. default:
  1978. }
  1979. let obj = {
  1980. oldfileList: this.oldfileList,
  1981. businessList,
  1982. accidentList
  1983. };
  1984. this.$refs.detailsDialog.warrantyFun(obj);
  1985. }
  1986. this.showInsureList = false;
  1987. this.$refs.detailsDialog.setBackupVisible(true);
  1988. } else {
  1989. this.$message.error("订单获取失败");
  1990. }
  1991. });
  1992. },
  1993. //联级选择器触发事件
  1994. handleChange(val) {
  1995. if (val.length !== 0) {
  1996. this.pageRequest.deptId = val.at(-1);
  1997. } else {
  1998. this.pageRequest.deptId = "";
  1999. }
  2000. },
  2001. handleClose(done) {
  2002. this.$confirm("确认关闭?")
  2003. .then(_ => {
  2004. done();
  2005. })
  2006. .catch(_ => {});
  2007. },
  2008. httpRequest(options) {
  2009. let file = options.file;
  2010. let filename = options.filename;
  2011. let reader = new FileReader();
  2012. if (file) {
  2013. reader.readAsDataURL(file);
  2014. }
  2015. reader.onload = () => {
  2016. let base64Str = reader.result;
  2017. this[options.filename].push(base64Str);
  2018. };
  2019. },
  2020. // 设置每页条数
  2021. applyhandleSizeChange(val) {
  2022. this.pageSize = val;
  2023. this.pageNum = 1;
  2024. this.pageRequest.pageNum = 1;
  2025. this.pageRequest.pageSize = val;
  2026. this.findPage();
  2027. },
  2028. // 当前页
  2029. applyhandleCurrentChange(val) {
  2030. this.pageNum = val;
  2031. this.pageRequest.pageNum = val;
  2032. this.findPage();
  2033. },
  2034. saveAs(blob, filename) {
  2035. var link = document.createElement("a");
  2036. link.href = window.URL.createObjectURL(blob);
  2037. link.target = "_ blank";
  2038. link.download = filename;
  2039. link.click();
  2040. },
  2041. //预览文件
  2042. viewfile(index) {
  2043. let name = index.fileurl.lastIndexOf("/");
  2044. fetch(index.fileurl)
  2045. .then(response => response.blob())
  2046. .then(blob => {
  2047. this.saveAs(
  2048. blob,
  2049. index.fileurl.substring(name + 1, index.fileurl.length)
  2050. );
  2051. })
  2052. .catch(error => {});
  2053. // const a = document.createElement('a')
  2054. // a.style.display = 'none'
  2055. // a.href = index.fileurl
  2056. // a.target = '_ blank';
  2057. // a.download = this.licenseNo+ '.pdf'; // 下载文件的名字
  2058. // document.body.appendChild(a)
  2059. // a.click()
  2060. },
  2061. //锚链接
  2062. // jump(obj) {
  2063. // var s = document.getElementById(obj);
  2064. // var parent = s.parentNode;
  2065. // for (let i = 0; i < parent.childNodes.length; i++) {
  2066. // if (parent.childNodes[i].tagName == "DIV") {
  2067. // if (parent.childNodes[i].childNodes[0].classList.contains("active")) {
  2068. // parent.childNodes[i].childNodes[0].classList.remove("active");
  2069. // }
  2070. // }
  2071. // }
  2072. // s.childNodes[0].classList.add("active");
  2073. // },
  2074. // //表格行点击下拉事件
  2075. // handleRowClick(row) {
  2076. // if(!row.expanded){
  2077. // this.$api.letter.querySonOrders({orderNo:row.orderno}).then(res=>{
  2078. // if(res.code=='200' && res.data.length!=0){
  2079. // this.pageResult.map(item=>{
  2080. // if(item.orderno===row.orderno){
  2081. // item.insAreaCompanyList=res.data;
  2082. // }
  2083. // return item;
  2084. // })
  2085. // row.expanded = !row.expanded;
  2086. // this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
  2087. // }else{
  2088. // this.$message.info("暂无数据");
  2089. // }
  2090. // })
  2091. // }else{
  2092. // row.expanded = !row.expanded;
  2093. // this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
  2094. // }
  2095. // },
  2096. handleRowChange(row) {
  2097. if (!row.expanded) {
  2098. this.$api.letter.querySonOrders({ orderNo: row.orderno }).then(res => {
  2099. if (res.code == "200" && res.data.length != 0) {
  2100. this.pageResult.map(item => {
  2101. if (item.orderno === row.orderno) {
  2102. item.insAreaCompanyList = res.data;
  2103. }
  2104. return item;
  2105. });
  2106. row.expanded = !row.expanded;
  2107. this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
  2108. } else {
  2109. this.$message.info("暂无数据");
  2110. }
  2111. });
  2112. } else {
  2113. row.expanded = !row.expanded;
  2114. this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
  2115. }
  2116. },
  2117. //数据
  2118. findPage() {
  2119. this.orderLoaing = true;
  2120. let orderStatus = "";
  2121. if(this.isLetterOrder){
  2122. orderStatus = this.pageRequest.orderStatus == 888 ? '' : this.pageRequest.orderStatus
  2123. this.$api.letter.queryOrders({ ...this.pageRequest, orderStatus }).then((res) => {
  2124. if (res.code == "200") {
  2125. this.orderLoaing = false;
  2126. this.pageResult = res.data.content;
  2127. this.pageNum = res.data.pageNum;
  2128. this.totalSize = res.data.totalSize;
  2129. this.pageResult.forEach((val, index) => {
  2130. this.$set(val, "expanded", false);
  2131. });
  2132. } else {
  2133. this.$message.error(res.msg);
  2134. this.orderLoaing = false;
  2135. }
  2136. });
  2137. }
  2138. else{
  2139. orderStatus = this.statusPor == 888 ? "" : this.statusPor;
  2140. this.$api.task
  2141. .queryPageHospitalityOrder({ ...this.pageRequest, orderStatus,userId:this.userIdPor })
  2142. .then(res => {
  2143. if (res.code == "200") {
  2144. this.orderLoaing = false;
  2145. this.$nextTick(()=>{
  2146. this.pageResult = res.data.content;
  2147. this.pageNum = res.data.pageNum;
  2148. this.totalSize = res.data.totalSize;
  2149. this.pageResult.forEach((val, index) => {
  2150. this.$set(val, "expanded", false);
  2151. });
  2152. })
  2153. } else {
  2154. this.$message.error(res.msg);
  2155. this.orderLoaing = false;
  2156. }
  2157. });
  2158. }
  2159. },
  2160. //查询
  2161. onSubmit() {
  2162. this.pageRequest.pageNum = 1;
  2163. this.pageRequest.pageSize = 20;
  2164. this.findPage();
  2165. },
  2166. //时间js
  2167. monthChange(e) {
  2168. if (e === null) {
  2169. this.pageRequest.startDate = e;
  2170. this.pageRequest.endDate = e;
  2171. } else {
  2172. this.pageRequest.startDate = e[0];
  2173. this.pageRequest.endDate = e[1];
  2174. }
  2175. },
  2176. downloadFile(url, fileName, type) {
  2177. const xhr = new XMLHttpRequest();
  2178. xhr.open("GET", url, true);
  2179. xhr.responseType = "blob"; // 获取文件blob数据
  2180. xhr.onload = function() {
  2181. if (xhr.status !== 200) {
  2182. this.$notify.error({
  2183. title: "错误",
  2184. message: "下载出现错误"
  2185. });
  2186. return;
  2187. }
  2188. const newUrl = window.URL.createObjectURL(xhr.response); // 生成一个可用的临时url
  2189. const a = document.createElement("a"); // 生成a标签调用点击事件
  2190. a.setAttribute("href", newUrl);
  2191. a.setAttribute("target", "_blank");
  2192. a.setAttribute("download", fileName); // 自定义文件名
  2193. document.body.appendChild(a);
  2194. a.click();
  2195. document.body.removeChild(a);
  2196. };
  2197. xhr.send();
  2198. }
  2199. }
  2200. };
  2201. </script>
  2202. <style lang="scss" scoped>
  2203. .scan-code {
  2204. div {
  2205. margin-top: 10px;
  2206. }
  2207. }
  2208. .green_color {
  2209. color: #068069;
  2210. border: 1px solid #068069;
  2211. padding: 7px 8px;
  2212. }
  2213. .red_color {
  2214. color: var(--themeColor);
  2215. border: 1px solid var(--themeColor);
  2216. padding: 7px 8px;
  2217. }
  2218. .blue_color {
  2219. color: #2d4d89;
  2220. border: 1px solid #2d4d89;
  2221. padding: 7px 8px;
  2222. }
  2223. .el-dropdown {
  2224. font-size: 12px;
  2225. }
  2226. .el-step__description > span {
  2227. margin-right: 10px;
  2228. }
  2229. /deep/ {
  2230. .proSaomazhifucodeClass .el-dialog__header {
  2231. background: rgba(45, 77, 137, 0.1);
  2232. font-weight: bold;
  2233. }
  2234. .proSaomazhifucodeClass .el-dialog__footer {
  2235. border-top: 1px solid #eef1f6;
  2236. }
  2237. .el-step__head {
  2238. min-height: 90px;
  2239. }
  2240. .el-table .row-expand-cover .cell .el-table__expand-icon {
  2241. display: none;
  2242. }
  2243. .el-descriptions-item__label {
  2244. &:not(.is-bordered-label) {
  2245. color: #333;
  2246. }
  2247. }
  2248. .saomazhifucodeClass .el-dialog__body,
  2249. .saomazhifucodeClass .el-dialog__header,
  2250. .saomazhifucodeClass .el-dialog__footer {
  2251. padding: 0;
  2252. background: #f4e9e9;
  2253. }
  2254. .saomazhifucodeClass .el-dialog__body {
  2255. padding: 15px;
  2256. }
  2257. .saomazhifucodeClass .el-dialog__footer {
  2258. background: #f4e9e9;
  2259. padding-bottom: 15px;
  2260. }
  2261. .saomazhifucodeClass .el-dialog__headerbtn {
  2262. margin-top: 10px;
  2263. }
  2264. .el-input.is-disabled .el-input__inner {
  2265. color: #333;
  2266. }
  2267. }
  2268. .ORcodebody {
  2269. height: auto;
  2270. // background: url(../../../assets/image/group.png) #fff;
  2271. padding: 16px;
  2272. background-color: #fff;
  2273. }
  2274. .ORcode {
  2275. width: 100%;
  2276. height: auto;
  2277. display: flex;
  2278. justify-content: center;
  2279. align-items: center;
  2280. padding: 30px;
  2281. box-sizing: border-box;
  2282. & > div {
  2283. width: 176px;
  2284. height: 176px;
  2285. border: 1px solid var(--themeColor);
  2286. border-radius: 5px;
  2287. }
  2288. }
  2289. .ORtitle {
  2290. width: 100%;
  2291. padding-bottom: 20px;
  2292. box-sizing: border-box;
  2293. & > div {
  2294. width: 100%;
  2295. margin: 10px 0;
  2296. font-size: 14px;
  2297. & > span {
  2298. &:nth-child(1) {
  2299. color: #868b98;
  2300. text-align: end;
  2301. width: 150px;
  2302. }
  2303. &:nth-child(2) {
  2304. color: #333333;
  2305. }
  2306. }
  2307. }
  2308. }
  2309. </style>
  2310. <style scoped lang="scss">
  2311. #qqq {
  2312. background-color: #111;
  2313. width: 300px;
  2314. height: 300px;
  2315. margin: 0 auto;
  2316. /*水平居中*/
  2317. position: relative;
  2318. }
  2319. #qrCode {
  2320. display: inline-block;
  2321. margin: 0 auto;
  2322. /*水平居中*/
  2323. position: relative;
  2324. top: 15%;
  2325. }
  2326. #qrCode img {
  2327. width: 200px;
  2328. height: 200px;
  2329. background-color: #fff;
  2330. padding: 6px;
  2331. }
  2332. .leftContainer {
  2333. width: 80px;
  2334. position: fixed;
  2335. top: 79px;
  2336. left: 30px;
  2337. }
  2338. .leftContainer .el-col {
  2339. width: 80px;
  2340. height: 80px;
  2341. border-bottom: 1px solid #4d5c6f;
  2342. background: #526176;
  2343. cursor: pointer;
  2344. color: #a6aeb9;
  2345. border-radius: 0;
  2346. }
  2347. .leftContainer .el-col a {
  2348. display: block;
  2349. color: #a6aeb9;
  2350. text-decoration: none;
  2351. }
  2352. .leftContainer .el-col a:hover {
  2353. color: #fff;
  2354. }
  2355. .leftContainer .el-col a.active {
  2356. color: #fff;
  2357. }
  2358. .leftContainer .el-col i {
  2359. font-size: 30px;
  2360. margin: 15px 0px 5px;
  2361. }
  2362. .rightContainer {
  2363. width: calc(100vw - 160px);
  2364. margin-left: 100px;
  2365. }
  2366. .rightContainer .header .el-col {
  2367. font-size: 18px;
  2368. font-weight: bold;
  2369. }
  2370. .rightContainer .bodyTitle {
  2371. height: 40px;
  2372. background: #f3f3f3;
  2373. border: 1px solid #dddddd;
  2374. }
  2375. .rightContainer .bodyTitle > label {
  2376. margin: 0px 15px;
  2377. font-weight: bold;
  2378. }
  2379. .rightContainer #demo2 .body,
  2380. .rightContainer #demo6 .body {
  2381. border: 1px solid #ddd;
  2382. padding: 15px;
  2383. border-top: none;
  2384. }
  2385. .rightContainer .el-card {
  2386. margin-bottom: 15px;
  2387. }
  2388. .body .el-row .el-col label {
  2389. text-align: right;
  2390. width: 80px;
  2391. font-size: 14px;
  2392. width: 100%;
  2393. line-height: 36px;
  2394. display: inline-block;
  2395. box-sizing: border-box;
  2396. }
  2397. .disabledInput {
  2398. width: 80% !important;
  2399. background-color: #f5f7fa;
  2400. text-align: center !important;
  2401. max-width: 200px;
  2402. border: 1px solid #e4e7ed;
  2403. color: #c0c4cc;
  2404. cursor: not-allowed;
  2405. border-radius: 4px;
  2406. box-sizing: border-box;
  2407. padding: 0px 10px;
  2408. height: 36px;
  2409. margin: 20px 10%;
  2410. }
  2411. /* 上传图片样式Start */
  2412. .avatar-uploader .el-upload {
  2413. border: 1px dashed #d9d9d9;
  2414. border-radius: 6px;
  2415. cursor: pointer;
  2416. position: relative;
  2417. overflow: hidden;
  2418. }
  2419. .avatar-uploader .el-upload:hover {
  2420. border-color: #409eff;
  2421. }
  2422. .avatar-uploader-icon {
  2423. font-size: 28px;
  2424. color: #8c939d;
  2425. width: 100px;
  2426. height: 100px;
  2427. line-height: 100px;
  2428. text-align: center;
  2429. border: 1px dashed #d9d9d9;
  2430. }
  2431. .avatar {
  2432. border: 1px dashed #d9d9d9;
  2433. padding: 5px;
  2434. border-radius: 6px;
  2435. width: 100px;
  2436. height: 100px;
  2437. display: block;
  2438. }
  2439. .imageStyle {
  2440. display: inline-block;
  2441. width: 100px;
  2442. height: 100px;
  2443. box-shadow: #ddd 0px 0px 5px;
  2444. margin-right: 20px;
  2445. }
  2446. /* 上传图片样式End */
  2447. .dis {
  2448. display: flex;
  2449. }
  2450. .align {
  2451. align-items: center;
  2452. }
  2453. .jus {
  2454. justify-content: space-between;
  2455. }
  2456. .display {
  2457. display: flex;
  2458. justify-content: center;
  2459. align-items: center;
  2460. box-sizing: border-box;
  2461. }
  2462. .block {
  2463. margin-top: 10px;
  2464. }
  2465. .page {
  2466. padding: 14px;
  2467. box-sizing: border-box;
  2468. }
  2469. .el-select--medium {
  2470. vertical-align: bottom !important;
  2471. }
  2472. .widths {
  2473. width: 200px;
  2474. }
  2475. .demo-table-expand {
  2476. /* width:96vw; */
  2477. height: auto;
  2478. padding: 10px 20px 10px 50px;
  2479. font-size: 14px;
  2480. }
  2481. .demo-table-expand-time {
  2482. width: 40%;
  2483. }
  2484. .demo-table-expand-time > div {
  2485. margin: 0 10px;
  2486. }
  2487. .icon-img {
  2488. width: 30px;
  2489. height: 30px;
  2490. vertical-align: bottom;
  2491. }
  2492. .Enclosure {
  2493. width: 100%;
  2494. background-color: #fff;
  2495. padding: 20px;
  2496. box-sizing: border-box;
  2497. margin-bottom: 15px;
  2498. border-radius: 6px;
  2499. border: 1px solid #ebeef5;
  2500. transition: all 0.2s ease-in-out;
  2501. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  2502. }
  2503. .headers {
  2504. display: flex;
  2505. align-items: center;
  2506. justify-content: space-between;
  2507. flex-wrap: wrap;
  2508. margin: 5px 0;
  2509. font-weight: bold;
  2510. color: #333;
  2511. }
  2512. /* 内容待定 */
  2513. .headers_Custom {
  2514. div {
  2515. padding: 2px 0px;
  2516. font-size: 14px;
  2517. & > span {
  2518. color: rgb(226, 118, 10);
  2519. }
  2520. }
  2521. }
  2522. .back {
  2523. color: #303133;
  2524. font-weight: 700;
  2525. }
  2526. .u-f-ac {
  2527. -webkit-box-align: center;
  2528. align-items: center;
  2529. /* padding: 10px; */
  2530. }
  2531. .bodyTitle {
  2532. height: 40px;
  2533. background: #f3f3f3;
  2534. border: 1px solid #dddddd;
  2535. line-height: 40px;
  2536. padding: 0 20px;
  2537. box-sizing: border-box;
  2538. }
  2539. .Risk {
  2540. width: 100%;
  2541. height: auto;
  2542. display: flex;
  2543. flex-direction: column;
  2544. align-items: center;
  2545. font-size: 12px;
  2546. }
  2547. .Risk_title {
  2548. width: 100%;
  2549. height: 40px;
  2550. }
  2551. .Risk_title > div {
  2552. background: rgb(199, 20, 45);
  2553. color: rgb(255, 255, 255);
  2554. height: 100%;
  2555. font-weight: 500;
  2556. width: 33.3%;
  2557. padding: 10px 20px;
  2558. box-sizing: border-box;
  2559. border: #fff solid 1px;
  2560. display: flex;
  2561. justify-content: center;
  2562. align-items: center;
  2563. border-bottom: none;
  2564. }
  2565. .Risk_title > div:nth-child(1) {
  2566. }
  2567. .Risk_title > div:nth-child(2) {
  2568. border-left: none;
  2569. border-right: none;
  2570. }
  2571. .Risk_data {
  2572. width: 100%;
  2573. height: 40px;
  2574. }
  2575. .Risk_data > div {
  2576. background: #fbf6f7;
  2577. color: rgb(51, 51, 51);
  2578. height: 100%;
  2579. font-weight: 500;
  2580. width: 33.3%;
  2581. padding: 10px 20px;
  2582. box-sizing: border-box;
  2583. border: #fff solid 1px;
  2584. display: flex;
  2585. justify-content: center;
  2586. align-items: center;
  2587. border-bottom: none;
  2588. }
  2589. .Risk_data > div :nth-child(2) {
  2590. border-left: none;
  2591. border-right: none;
  2592. }
  2593. .Risk_title > div :nth-child(3) {
  2594. border-top-right-radius: 10px;
  2595. }
  2596. .jyxStyle > span {
  2597. display: inline-block;
  2598. text-align: center;
  2599. }
  2600. /* .el-step__description{
  2601. color:#333
  2602. } */
  2603. /deep/ {
  2604. .el-step__title,
  2605. .el-step__icon-inner {
  2606. color: var(--themeColor);
  2607. }
  2608. .el-step__description.is-finish,
  2609. .el-step__head.is-finish {
  2610. color: #333;
  2611. border: none;
  2612. }
  2613. .el-step__icon.is-text {
  2614. border: none;
  2615. box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.1);
  2616. }
  2617. .el-step__icon.is-text {
  2618. font-size: 22px;
  2619. }
  2620. .el-step__icon {
  2621. width: 28px;
  2622. height: 28px;
  2623. }
  2624. .el-step.is-vertical .el-step__main {
  2625. padding-left: 20px;
  2626. }
  2627. .el-step__line,
  2628. .el-step.is-vertical .el-step__line {
  2629. left: 14px;
  2630. background-color: #e2e5eb;
  2631. width: 1px;
  2632. }
  2633. .el-step__line-inner {
  2634. height: 0;
  2635. display: none;
  2636. }
  2637. .is-flex {
  2638. .el-step__icon {
  2639. background: var(--themeColor);
  2640. }
  2641. .el-step__icon-inner {
  2642. color: #fff;
  2643. }
  2644. }
  2645. }
  2646. </style>