TaskpoolAll.vue 102 KB

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