Verifyuntasks.vue 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359
  1. <template>
  2. <div class="page">
  3. <retrievalForm :fields="retrievalFields" @submit="handleFormSubmit" @toggleCollapse="toggleCollapse"
  4. @areaSelectChange="areaSelectChange"></retrievalForm>
  5. <el-table size="small" :data="pageResult" height="590" border v-loading="loading" highlight-current-row
  6. @expand-change="handleRowChange" ref="expandTable" :row-class-name="tableRowColor"
  7. :header-cell-style="{ background: '#F2F7FC', fontWeight: '700', color: '#606266' }">
  8. <el-table-column prop="subOrderId" label="订单号" align="center"></el-table-column>
  9. <el-table-column prop="username" label="业务员工号" align="center">
  10. <template slot-scope="scope">
  11. <span>{{ scope.row.userid }}</span>
  12. </template>
  13. </el-table-column>
  14. <el-table-column prop="username" label="业务员名称" align="center">
  15. <template slot-scope="scope">
  16. <span>{{ scope.row.username }}</span>
  17. </template>
  18. </el-table-column>
  19. <el-table-column prop="managementSource" label="业务来源" align="center">
  20. <template slot-scope="scope">
  21. <el-tag v-if="scope.row.managementSource == '渠道'">渠道</el-tag>
  22. <el-tag v-if="scope.row.managementSource == '个代'" type="success">个代</el-tag>
  23. <el-tag v-if="scope.row.managementSource == '电销'" type="warning">电销</el-tag>
  24. </template>
  25. </el-table-column>
  26. <el-table-column prop="agreementName" label="协议" align="center" width="300">
  27. <template slot-scope="scope">
  28. <span>{{ scope.row.agreementName }} - {{ scope.row.businessDescription }} - {{ scope.row.jobDescription }}</span>
  29. </template>
  30. </el-table-column>
  31. <el-table-column prop="insCompany" label="承保公司" align="center">
  32. <template slot-scope="scope">
  33. <span>{{ scope.row.insCompany ? scope.row.insCompany : '--' }}</span>
  34. </template>
  35. </el-table-column>
  36. <el-table-column prop="dockingPerson" label="对接人" align="center"></el-table-column>
  37. <el-table-column prop="entryStatus" label="录入来源" align="center" width="100">
  38. <template slot-scope="scope">
  39. <el-tag size="mini" v-if="scope.row.entryStatus == '1'" effect="dark">车险录入</el-tag>
  40. <el-tag size="mini" v-if="scope.row.entryStatus == '2'" effect="dark" type="success">代客录单</el-tag>
  41. <el-tag size="mini" v-if="scope.row.entryStatus == '3'" effect="dark" type="warning">外部订单</el-tag>
  42. </template>
  43. </el-table-column>
  44. <el-table-column prop="isExternal" label="外部订单" align="center">
  45. <template slot-scope="scope">
  46. <span>{{ scope.row.isExternal == '1' ? '是' : '否' }}</span>
  47. </template>
  48. </el-table-column>
  49. <el-table-column prop="problemOrder" label="疑问订单" align="center">
  50. <template slot-scope="scope">
  51. <span>{{ scope.row.problemOrder == '1' ? '是' : '否' }}</span>
  52. </template>
  53. </el-table-column>
  54. <el-table-column prop="insCompany" label="合作公司" align="center">
  55. <template slot-scope="scope">
  56. <span>{{ scope.row.partnerCompaniesName ? scope.row.partnerCompaniesName : '--' }}</span>
  57. </template>
  58. </el-table-column>
  59. <el-table-column prop="licenseno" label="车牌号" align="center"></el-table-column>
  60. <el-table-column prop="insuredname" label="被保险人" align="center"></el-table-column>
  61. <el-table-column prop="product" label="投保险种" align="center"></el-table-column>
  62. <el-table-column prop="operatorName" label="录入人" align="center"></el-table-column>
  63. <el-table-column prop="type" label="费用类型" align="center">
  64. <template slot-scope="scope">
  65. {{ scope.row.type === 1?'权益包':'现金' }}
  66. </template>
  67. </el-table-column>
  68. <el-table-column prop="auditStatus" label="状态" align="center">
  69. <template slot-scope="scope">
  70. <el-tag v-if="scope.row.auditStatus == '0'" type="success" size="small">未审核</el-tag>
  71. <el-tag v-if="scope.row.auditStatus == '1'" type="warning" size="small">审核通过</el-tag>
  72. <el-tag v-if="scope.row.auditStatus == '2'" type="danger" size="small">审核驳回</el-tag>
  73. </template>
  74. </el-table-column>
  75. <el-table-column prop="createtime" label="录单日期" align="center"></el-table-column>
  76. <el-table-column prop="signingTime" label="签单时间" align="center"></el-table-column>
  77. <el-table-column prop="payDate" label="支付时间" align="center"></el-table-column>
  78. <el-table-column label="操作" align="center" min-width="170">
  79. <template slot-scope="scope">
  80. <kt-button label="审核" type="text" perms="carInsurance:expenseVerification:pendingReview:review"
  81. @click="OrderDetails(scope.row)" />
  82. <!-- <kt-button label="轨迹" type="text" perms="carInsurance:expenseVerification:pendingReview:trajectory"
  83. @click="trajectory(scope.row)" /> -->
  84. <kt-button label="轨迹" type="text" @click="trajectory(scope.row)" />
  85. <kt-button :label="scope.row.problemOrder == '0' ? '疑问订单' : '取消疑问订单'" type="text"
  86. @click="doubtfulOrders(scope.row)" />
  87. <kt-button v-if="!scope.row.signingTime" label="更新签单时间" type="text"
  88. @click="updateDate(scope.row)" />
  89. </template>
  90. </el-table-column>
  91. </el-table>
  92. <!-- 分页功能 -->
  93. <div class="block">
  94. <el-pagination @size-change="applyhandleSizeChange" @current-change="applyhandleCurrentChange"
  95. :current-page="pageNum" :page-size="pageSize" :page-sizes="[20, 30, 50, 100]"
  96. layout="total, sizes, prev, pager, next, jumper" :total="totalSize"></el-pagination>
  97. </div>
  98. <!-- 车辆报价新页面 -->
  99. <detailsDialog ref="detailsDialog" :orderInfo="orderInfo" :feeOrderNewVoList="feeOrderNewVoList"
  100. :isrejection="isrejection" @updatedCost="updatedCost" @adusitFUn="adusitFUn" @rejectionFUn="rejectionFUn">
  101. </detailsDialog>
  102. <el-dialog :visible.sync="ddgjdialogVisible" width="500px">
  103. <div slot="title" class="">
  104. <span>订单轨迹</span>
  105. </div>
  106. <div style="height: 300px; overflow-y: auto">
  107. <el-steps direction="vertical" :active="trajectoryTable.length - 1">
  108. <el-step :title="item.desc" :key="item.id" v-for="item in trajectoryTable">
  109. <template slot="description">
  110. <template style="margin-top:10px;margin-bottom:10px ;">
  111. <div>保险公司:{{ item.insCompany }}</div>
  112. <div>车牌号:{{ item.licenseNo }}</div>
  113. <div>被保人:{{ item.insuredname }}</div>
  114. <div>
  115. <span >操作人:{{ item.operator }}</span>
  116. <span style="margin-left: 10px">操作人工号:{{ item.audituser }}</span>
  117. </div>
  118. <span v-if="item.operatorTime">
  119. 操作时间:{{ item.operatorTime }}
  120. </span>
  121. </template>
  122. </template>
  123. </el-step>
  124. </el-steps>
  125. </div>
  126. </el-dialog>
  127. </div>
  128. </template>
  129. <script>
  130. import retrievalForm from "@/components/Form/retrievalForm.vue";
  131. import Cookies from "js-cookie";
  132. import KtButton from "@/views/Core/KtButton";//按钮权限组件
  133. import detailsDialog from "@/views/Core/components/detailsDialogPro.vue";
  134. import {validateFeeDetail} from "../../../../http/moudules/task";
  135. export default {
  136. components: {
  137. KtButton,
  138. detailsDialog,
  139. retrievalForm
  140. },
  141. data() {
  142. return {
  143. isrejection: false,
  144. ddgjdialogVisible: false,
  145. trajectoryTable: [],
  146. feeOrderNewVoList: {},
  147. isAuditing: {},
  148. oldFeeInfo: [],//原始跟单费用比例
  149. adjustFeeDescInfo: {},//调整费用时使用对象
  150. adjustFeeFlag: false,
  151. queryOrders: "",
  152. value2: "",
  153. optionsStatus: [],
  154. quotedetailsdialogVisible: false,
  155. loading: false,
  156. pageNum: 1,//页数
  157. pageSize: 20,//条数
  158. totalSize: null,//总数
  159. peopleid: "",//工号
  160. pageResult: [],//列表
  161. pageRequest: {
  162. pageNum: 1,
  163. pageSize: 20,
  164. orderStatus: 0,
  165. userId: "",
  166. },
  167. retrievalFields: [
  168. {
  169. name: 'whole',
  170. label: '总机构',
  171. type: 'select',
  172. options: []
  173. },
  174. {
  175. name: 'provinceId',
  176. label: '省机构名称',
  177. type: 'select',
  178. options: []
  179. },
  180. {
  181. name: 'cityId',
  182. label: '市机构名称',
  183. type: 'select',
  184. options: []
  185. },
  186. {
  187. name: 'countyId',
  188. label: '区机构名称',
  189. type: 'select',
  190. options: []
  191. },
  192. {
  193. name: 'houseId',
  194. label: '门店名称',
  195. type: 'select',
  196. options: []
  197. },
  198. // {
  199. // name: 'taskNo',
  200. // label: '任务池号',
  201. // type: 'input',
  202. // },
  203. {
  204. name: 'orderNo',
  205. label: '订单号',
  206. type: 'input',
  207. },
  208. {
  209. name: 'managementSource',
  210. label: '业务来源',
  211. type: 'select',
  212. options: [],
  213. multiple:true,
  214. optionsIabel: "dictTag",
  215. optionsValue: "dictValue",
  216. },
  217. {
  218. name: 'companyId',
  219. label: '保险公司',
  220. type: 'select',
  221. options: []
  222. },
  223. {
  224. name: 'insuredName',
  225. label: '被保险人',
  226. type: 'input',
  227. Retained: true,
  228. },
  229. {
  230. name: 'licenseNo',
  231. label: '车牌号',
  232. type: 'input',
  233. Retained: true,
  234. },
  235. {
  236. name: 'frameNo',
  237. label: '车架号',
  238. type: 'input',
  239. Retained: true,
  240. },
  241. {
  242. name: 'engineNo',
  243. label: '发动机号',
  244. type: 'input',
  245. Retained: true,
  246. },
  247. {
  248. name: 'riskCode',
  249. label: '投保险种',
  250. type: 'select',
  251. Retained: true,
  252. options: [],
  253. optionsIabel: "dictTag",
  254. optionsValue: "dictTag",
  255. },
  256. {
  257. name: 'operatorId',
  258. label: '代理人工号',
  259. type: 'input',
  260. Retained: true,
  261. },
  262. {
  263. name: 'operatorName',
  264. label: '代理人姓名',
  265. type: 'input',
  266. Retained: true,
  267. },
  268. {
  269. name: 'auditId',
  270. label: '受理人工号',
  271. type: 'input',
  272. Retained: true,
  273. },
  274. {
  275. name: 'agreeId',
  276. label: '协议选择',
  277. type: 'select',
  278. options: [],
  279. optionsIabel: "agreementName",
  280. },
  281. {
  282. name: 'isExternal',
  283. label: '外部订单',
  284. type: 'select',
  285. optionsIabel: "label",
  286. optionsValue: "value",
  287. options: [
  288. {
  289. label: '是',
  290. value: '1'
  291. }, {
  292. label: '否',
  293. value: '0'
  294. },
  295. ],
  296. },
  297. {
  298. name: 'problemOrder',
  299. label: '疑问订单',
  300. type: 'select',
  301. optionsIabel: "label",
  302. optionsValue: "value",
  303. options: [
  304. {
  305. label: '是',
  306. value: '1'
  307. }, {
  308. label: '否',
  309. value: '0'
  310. },
  311. ],
  312. },
  313. {
  314. name: ["quoteStartDateStr", "quoteEndDateStr"],
  315. label: '报价时间',
  316. type: 'date',
  317. list: 'quoteList'
  318. },
  319. {
  320. name: ["attachStartDateStr", "attachEndDateStr"],
  321. label: '起保时间',
  322. type: 'date',
  323. list: 'attachList'
  324. },
  325. {
  326. name: ["signStartDateStr", "signEndDateStr"],
  327. label: '签单时间',
  328. type: 'date',
  329. list: 'signList'
  330. },
  331. {
  332. name: ["payStartDateStr", "payEndDateStr"],
  333. label: '支付时间',
  334. type: 'date',
  335. list: 'payList'
  336. },
  337. {
  338. name: 'jqPolicyNo',
  339. label: '交强保单号',
  340. type: 'input',
  341. Retained: true,
  342. },
  343. {
  344. name: 'syPolicyNo',
  345. label: '商业保单号',
  346. type: 'input',
  347. Retained: true,
  348. },
  349. {
  350. name: 'noPolicyNo',
  351. label: '非车保单号',
  352. type: 'input',
  353. Retained: true,
  354. },
  355. {
  356. name: 'type',
  357. label: '费用类型',
  358. type: 'select',
  359. optionsIabel: "label",
  360. optionsValue: "value",
  361. options: [
  362. {
  363. label: '权益包',
  364. value: '1'
  365. }, {
  366. label: '现金',
  367. value: '0'
  368. },
  369. ],
  370. },
  371. ],
  372. orderInfo: {
  373. //选中的订单
  374. ownerinfo: {},
  375. carinfo: {},
  376. applyinfo: {},
  377. insureinfo: {},
  378. kindinfo: [],
  379. riskinfo: [],
  380. ownerinfo: {},
  381. extendInfo: {}
  382. },
  383. feeDetailInfo: [],//费用明细信息
  384. inscompany: "", //保险公司名称
  385. licenseNo: "", //车牌号
  386. sumpremium: "", //保费合计
  387. jqpremium: "",//交强
  388. sypremium: "",//商业
  389. taxamount: "",//车船税
  390. jypremium: "",//驾意险
  391. jqstartdate: "",//交强时间
  392. systartdate: "",//商业时间
  393. mobile: "",//投保人手机号
  394. qrcode: null,
  395. userid: "",
  396. institutionOptions: [],
  397. width: document.documentElement.clientWidth,
  398. insAreaCompanyList: [],//子订单list
  399. companyList: [], //保险公司
  400. oldVersionHistory: [],
  401. natureOfVehicleUseoptions: [],
  402. businessVehicleUseoptions: [],
  403. outOfBusinessVehicleUseoptions: [],
  404. vehicleTypeoptions: [],
  405. trafficManagementVehicleTypeoptions: [],
  406. energyTypeoptions: [],
  407. carImageList: [], //车辆影像
  408. ownerImageList: [], //车主影像
  409. policyImageList: [], //投保人影像
  410. insuredImageList: [], //被保人影像
  411. carCheckImageList: [], //验车照影像
  412. oldfileList: [], //电子保单数据
  413. insOrderNo: '', // 子订单号码
  414. isEnabledShow: false,// 客户权益显示
  415. }
  416. },
  417. created() {
  418. this.pageRequest.userId = Cookies.get("user");
  419. this.areaqueryList(0, 9, "whole");
  420. this.CompanyList();
  421. this.agrmentlist();
  422. this.$api.insCompany.dicType('productsType').then(res => {
  423. if (res.code == 200) {
  424. this.selectDataMatching(this.retrievalFields, 'riskCode', res.data.ddList);
  425. }
  426. });
  427. this.$api.insCompany.dicType('organizationSource').then(res => {
  428. if (res.code == 200) {
  429. this.selectDataMatching(this.retrievalFields, 'managementSource', res.data.ddList);
  430. }
  431. });
  432. this.getDicType("natureOfVehicleUse");//车辆使用性质
  433. this.getDicType("businessVehicleUse"); //(车辆用途)营业
  434. this.getDicType("outOfBusinessVehicleUse"); //(车辆用途)非营业
  435. this.getDicType("vehicleType"); //车辆种类
  436. this.getDicType("trafficManagementVehicleType"); //车辆类型
  437. this.getDicType("energyType"); //能源种类
  438. },
  439. mounted() {
  440. this.isEnabled()
  441. window.addEventListener('resize', this.getDimensions);
  442. },
  443. unmounted() {
  444. window.removeEventListener('resize', this.getDimensions);
  445. },
  446. methods: {
  447. isEnabled() {
  448. this.$api.task.isEnabled().then(res => {
  449. if(res.code === 200) {
  450. this.isEnabledShow = res.data
  451. } else {
  452. this.$message({
  453. message: res.msg,
  454. type: 'warning'
  455. })
  456. }
  457. })
  458. },
  459. //更新订单的签单和缴费时间
  460. updateDate(row) {
  461. this.$api.readPdf.updateOrderDate(row.orderno).then((res) => {
  462. if (res.code == 200) {
  463. this.$message.info(res.msg);
  464. this.findPage();
  465. } else{
  466. this.$message.error(res.msg);
  467. }
  468. });
  469. },
  470. auditstatusCap(val) {
  471. if (val == "0") {
  472. return "未审核";
  473. }
  474. if (val == "1") {
  475. return "审核通过";
  476. }
  477. if (val == "2") {
  478. return "审核驳回";
  479. }
  480. if (val == "3") {
  481. return "已承保";
  482. }
  483. },
  484. trajectory(row) {
  485. // let a='1797905916021248000'
  486. this.$api.task.getFeeAuditHistory(row.orderno).then((res) => {
  487. if (res.code == 200 && res.data.length > 0) {
  488. this.trajectoryTable = res.data
  489. this.ddgjdialogVisible = true
  490. }
  491. else {
  492. this.$message.error('暂无数据!')
  493. }
  494. });
  495. },
  496. doubtfulOrders(row) {
  497. this.$api.task.markProblemOrder({ subOrder: row.orderno, problemOrder: row.problemOrder == '0' ? '1' : '0' }).then((res) => {
  498. if (res.code == 200) {
  499. this.$message({
  500. message: res.msg || '操作成功',
  501. type: 'success'
  502. });
  503. this.findPage();
  504. }
  505. else {
  506. this.$message.error(res.msg)
  507. }
  508. });
  509. },
  510. //获取机构数据
  511. areaqueryList(level, parentId, filed) {
  512. this.$api.task.queryListByParentId(level, parentId).then((res) => {
  513. this.selectDataMatching(this.retrievalFields, filed, res.data);
  514. });
  515. },
  516. CompanyList() {
  517. this.$api.letter.gainTopList().then((res) => {
  518. this.selectDataMatching(this.retrievalFields, 'companyId', res.data);
  519. })
  520. },
  521. agrmentlist() {
  522. this.$api.task.findPtlAgreementList().then((res) => {
  523. this.selectDataMatching(this.retrievalFields, 'agreeId', res.data);
  524. });
  525. },
  526. getDicType(type) {
  527. this.$api.insCompany.dicType(type).then(res => {
  528. if (res.code == 200) {
  529. this[type + 'options'] = res.data.ddList;
  530. }
  531. })
  532. },
  533. //下拉数据匹配
  534. selectDataMatching(files, name, data) {
  535. files.forEach(filed => {
  536. if (filed.name == name) {
  537. filed.options = data;
  538. }
  539. })
  540. },
  541. areaSelectChange(obj) {
  542. switch (obj.filed) {
  543. case "whole":
  544. this.areaqueryList(1, obj.id, "provinceId");
  545. break;
  546. case "provinceId":
  547. this.areaqueryList(2, obj.id, "cityId");
  548. break;
  549. case "cityId":
  550. this.areaqueryList(3, obj.id, "countyId");
  551. break;
  552. case "countyId":
  553. this.areaqueryList(4, obj.id, "houseId");
  554. break;
  555. default:
  556. }
  557. },
  558. handleFormSubmit(data) {
  559. this.pageRequest.pageNum = 1;
  560. this.pageRequest.pageSize = 20;
  561. let obj = Object.assign(this.pageRequest, data)
  562. this.pageRequest = obj;
  563. this.findPage();
  564. },
  565. toggleCollapse(data) {
  566. this.retrievalFields.map(val => {
  567. if (val.Retained != null) val.Retained = data;
  568. return val;
  569. })
  570. },
  571. updatedCost(data) {
  572. let list = JSON.parse(JSON.stringify(data));
  573. console.log(list)
  574. const exportFee = [];
  575. const entranceFee = [];
  576. list.feeOrder.forEach((item, index) => {
  577. if (index < 3) entranceFee.push(item);
  578. else exportFee.push(item);
  579. });
  580. let params = {
  581. feeId: this.oldVersionHistory.feeId,
  582. feeOrderNewVoOld: this.oldVersionHistory,
  583. feeOrderNewVoNew: {
  584. deptManagerFee: list.deptManagerFee,
  585. entranceFee: entranceFee,
  586. exportFee: exportFee,
  587. }
  588. }
  589. this.$api.task.costsadjust(params).then((res) => {
  590. if (res.code == '200') {
  591. let data = res.data;
  592. let list = [];
  593. data.exportFee.map((val, index) => {
  594. val.type = "出口费用"
  595. return val;
  596. })
  597. data.entranceFee.map((val, index) => {
  598. val.type = "入口费用"
  599. return val;
  600. })
  601. console.log(data)
  602. this.feeOrderNewVoList = {
  603. deptManagerFee: data.deptManagerFee,
  604. list: [...data.entranceFee, ...data.exportFee],
  605. retailFee: data.retailFee
  606. }
  607. this.$message({
  608. type: 'success',
  609. message: res.msg,
  610. });
  611. } else {
  612. this.$message({
  613. type: 'error',
  614. message: res.msg,
  615. });
  616. }
  617. });
  618. },
  619. closeDialog() {
  620. this.adjustFeeFlag = false;
  621. },
  622. // 审核驳回
  623. rejectionFUn() {
  624. this.$prompt('输入驳回原因', '提示', {
  625. confirmButtonText: '确定',
  626. cancelButtonText: '取消',
  627. inputPattern: /^.+$/,
  628. distinguishCancelAndClose: true,
  629. inputErrorMessage: '输入驳回原因!'
  630. }).then(({ value }) => {
  631. let subParam = {
  632. orderNo: this.orderInfo.orderno,
  633. jqCostsProportionStr: this.adjustFeeDescInfo.jqAllFeeRate,
  634. syCostsProportionStr: this.adjustFeeDescInfo.syAllFeeRate,
  635. auditStatus: '2',
  636. updateFlag: this.adjustFeeFlag ? "1" : "0",
  637. rejectinfo: value
  638. }
  639. this.$api.task
  640. .auditFee(subParam)
  641. .then(res => {
  642. if (res.code == 200) {
  643. this.findPage()
  644. this.$message({
  645. message: '操作成功' || res.msg,
  646. type: 'success'
  647. });
  648. this.$refs.detailsDialog.setBackupVisible(false);
  649. }
  650. else {
  651. this.$message.error(res.msg)
  652. }
  653. })
  654. })
  655. },
  656. //审核通过
  657. adusitFUn() {
  658. let that = this
  659. this.$confirm('是否确认审核?', '提示', {
  660. confirmButtonText: '确定',
  661. cancelButtonText: '取消',
  662. type: 'warning'
  663. }).then(() => {
  664. const loading = this.$loading({
  665. lock: true,
  666. text: '数据加载中,请稍等',
  667. spinner: 'el-icon-loading',
  668. background: 'rgba(0, 0, 0, 0.7)'
  669. });
  670. let subParam = {
  671. orderNo: this.orderInfo.orderno,
  672. insOrderNo: this.orderInfo.insOrderNo,
  673. jqCostsProportionStr: this.adjustFeeDescInfo.jqAllFeeRate,
  674. syCostsProportionStr: this.adjustFeeDescInfo.syAllFeeRate,
  675. auditStatus: '1',
  676. updateFlag: this.adjustFeeFlag ? "1" : "0",
  677. insOrderNo: this.insOrderNo
  678. }
  679. this.$api.task.auditFee(subParam).then((res) => {
  680. if (res.code == 200) {
  681. if(that.isEnabledShow) {
  682. this.$api.task.confirmEquityOrder(this.orderInfo.id).then(res => {
  683. if(res.code === 200) {
  684. } else {
  685. this.$message({
  686. message: res.msg,
  687. type: 'warning'
  688. })
  689. }
  690. })
  691. }
  692. loading.close();
  693. this.$message({
  694. type: 'success',
  695. message: "审核通过",
  696. });
  697. this.findPage();
  698. // this.quotedetailsdialogVisible = false;
  699. this.$refs.detailsDialog.setBackupVisible(false);
  700. } else {
  701. loading.close();
  702. this.$message.error(res.msg)
  703. }
  704. })
  705. }).catch(() => {
  706. });
  707. },
  708. toChinesNum(num) {
  709. if (num == 1500000) {
  710. return 150 + '万'
  711. }
  712. let changeNum = [
  713. "零", "1", "2", "3", "4", "5", "6", "7", "8", "9"
  714. ];
  715. let unit = ["", "0", "00", "000", "0000"];
  716. num = parseInt(num);
  717. let getWan = temp => {
  718. let strArr = temp
  719. .toString()
  720. .split("")
  721. .reverse();
  722. let newNum = "";
  723. let newArr = [];
  724. strArr.forEach((item, index) => {
  725. newArr.unshift(
  726. item === "0" ? changeNum[item] : changeNum[item] + unit[index]
  727. );
  728. });
  729. let numArr = [];
  730. newArr.forEach((m, n) => {
  731. if (m !== "零") numArr.push(n);
  732. });
  733. if (newArr.length > 1) {
  734. newArr.forEach((m, n) => {
  735. if (newArr[newArr.length - 1] === "零") {
  736. if (n <= numArr[numArr.length - 1]) {
  737. newNum += m;
  738. }
  739. } else {
  740. newNum += m;
  741. }
  742. });
  743. } else {
  744. newNum = newArr[0];
  745. }
  746. return newNum;
  747. };
  748. let overWan = Math.floor(num / 10000);
  749. let noWan = num % 10000;
  750. if (noWan.toString().length < 4) {
  751. noWan = "0" + noWan;
  752. }
  753. return overWan ? getWan(overWan) + "万" + getWan(noWan) : getWan(num);
  754. },
  755. //联级选择器触发事件
  756. handleChange(val) {
  757. if (val.length !== 0) {
  758. this.pageRequest.deptId = val.at(-1);
  759. }
  760. else {
  761. this.pageRequest.deptId = ''
  762. }
  763. },
  764. getDimensions() {
  765. this.width = document.documentElement.clientWidth - 350 + 'px';
  766. },
  767. //使用性质
  768. natureOfVehicleUseCap(ele) {
  769. if (this.natureOfVehicleUseoptions.find(item => item.dictValue == ele)) {
  770. return this.natureOfVehicleUseoptions.find((item) => {
  771. return item.dictValue === ele;
  772. }).dictTag;
  773. }
  774. else {
  775. return ''
  776. }
  777. },
  778. //车辆类型
  779. trafficManagementVehicleTypeCap(ele) {
  780. if (this.trafficManagementVehicleTypeoptions.find(item => item.dictValue == ele)) {
  781. return this.trafficManagementVehicleTypeoptions.find((item) => {
  782. return item.dictValue === ele;
  783. }).dictTag;
  784. }
  785. else {
  786. return ''
  787. }
  788. },
  789. //车辆种类
  790. vehicleTypeCap(ele) {
  791. if (this.vehicleTypeoptions.find(item => item.dictValue == ele)) {
  792. return this.vehicleTypeoptions.find((item) => {
  793. return item.dictValue === ele;
  794. }).dictTag;
  795. }
  796. else {
  797. return ''
  798. }
  799. },
  800. //能源种类
  801. energyTypeCap(ele) {
  802. if (this.energyTypeoptions.find(item => item.dictValue == ele)) {
  803. return this.energyTypeoptions.find((item) => {
  804. return item.dictValue === ele;
  805. }).dictTag;
  806. }
  807. else {
  808. return ''
  809. }
  810. },
  811. //车辆用途
  812. outOfBusinessVehicleUseCap(type, ele) {
  813. switch (type) {
  814. case '非营业':
  815. if (this.outOfBusinessVehicleUseoptions.find(item => item.dictValue == ele)) {
  816. return this.outOfBusinessVehicleUseoptions.find((item) => {
  817. return item.dictValue === ele;
  818. }).dictTag;
  819. }
  820. else {
  821. return ''
  822. }
  823. case '营业':
  824. if (this.businessVehicleUseoptions.find(item => item.dictValue == ele)) {
  825. return this.businessVehicleUseoptions.find((item) => {
  826. return item.dictValue === ele;
  827. }).dictTag;
  828. }
  829. else {
  830. return ''
  831. }
  832. default:
  833. }
  834. },
  835. tableRowClassName(row) {
  836. if (row.row.problemOrder === 1) {
  837. return "flagRow";
  838. }
  839. else {
  840. return ''
  841. }
  842. },
  843. //应用详情
  844. OrderDetails(dy) {
  845. this.$api.task.lockFeeDetail({orderNo: dy.orderno}).then((res) => {});
  846. if (dy.isExternal == 1) {
  847. this.isrejection = true
  848. }
  849. else {
  850. this.isrejection = false
  851. }
  852. this.carImageList = [];
  853. this.ownerImageList = []; //车主影像
  854. this.policyImageList = []; //投保人影像
  855. this.insuredImageList = []; //被保人影像
  856. this.carCheckImageList = []; //验车照影像
  857. let params = {
  858. orderNo: dy.orderno,
  859. }
  860. this.insOrderNo = dy.orderno
  861. this.$api.task.validateFeeDetail({
  862. id: dy.id
  863. }).then(res => {
  864. if(res.code == 200) {
  865. this.$api.task.feeDetail(params).then((res) => {
  866. if (res.code == 200) {
  867. res.data.kindinfo.map((ele, index) => {
  868. switch (ele.kindCode) {
  869. case "A":
  870. ele.amount = "投保";
  871. break;
  872. case "D4":
  873. case "SY_FJ_YBW2":
  874. ele.unitAmount = this.toChinesNum(ele.unitAmount);
  875. break;
  876. case "MJ1":
  877. case "MJ2":
  878. case "MJ3":
  879. case "MJ4":
  880. ele.deductibleRate = ele.deductibleRate + "%";
  881. break;
  882. default:
  883. ele.amount = this.toChinesNum(ele.amount);
  884. }
  885. return ele;
  886. });
  887. // 获取影像
  888. this.$api.letter.findByQuoteNo(dy.quoteno).then((resImage) => {
  889. Object.keys(resImage.data).forEach((keys) => {
  890. if (resImage.data[keys]) {
  891. resImage.data[keys].url = resImage.data[keys].url
  892. ? process.env.BASE_URL + resImage.data[keys].url
  893. : null;
  894. switch (keys) {
  895. case "C01":
  896. case "D01":
  897. resImage.data[keys].url
  898. ? this.carImageList.push(resImage.data[keys].url)
  899. : "";
  900. break;
  901. case "C02":
  902. case "D02":
  903. resImage.data[keys].url
  904. ? this.ownerImageList.push(resImage.data[keys].url)
  905. : "";
  906. break;
  907. case "C03":
  908. case "D03":
  909. resImage.data[keys].url
  910. ? this.policyImageList.push(resImage.data[keys].url)
  911. : "";
  912. break;
  913. case "C04":
  914. case "D04":
  915. resImage.data[keys].url
  916. ? this.insuredImageList.push(resImage.data[keys].url)
  917. : "";
  918. break;
  919. case "XC00":
  920. case "GC00":
  921. case "GX00":
  922. resImage.data[keys].url
  923. ? this.carCheckImageList.push(resImage.data[keys].url)
  924. : "";
  925. break;
  926. default:
  927. break;
  928. }
  929. }
  930. });
  931. let obj = {
  932. carImageList: this.carImageList,
  933. ownerImageList: this.ownerImageList,
  934. policyImageList: this.policyImageList,
  935. insuredImageList: this.insuredImageList,
  936. carCheckImageList: this.carCheckImageList
  937. }
  938. this.$refs.detailsDialog.imageFun(obj);
  939. });
  940. if (res.data.feeOrderNewVo && res.data.feeOrderNewVo.exportFee && res.data.feeOrderNewVo.entranceFee && res.data.equityPackageVo) {
  941. let data = JSON.parse(JSON.stringify(res.data.feeOrderNewVo))
  942. this.oldVersionHistory = data;
  943. data.exportFee.map((val, index) => {
  944. val.type = "出口费用"
  945. return val;
  946. })
  947. data.entranceFee.map((val, index) => {
  948. val.type = "入口费用"
  949. return val;
  950. })
  951. let obj = JSON.parse(JSON.stringify(res.data.equityPackageVo))
  952. if(obj.infoVoList&&obj.infoVoList.length>0) {
  953. let newObj = obj.infoVoList.map(item => {
  954. return {
  955. ...item,
  956. totalAmount: obj.totalAmount,
  957. ldProportion: obj.ldProportion,
  958. khAmount: obj.khAmount,
  959. dlrAmount: obj.dlrAmount,
  960. packageName: obj.packageName,
  961. // qybAmount: obj.qybAmount
  962. }
  963. })
  964. this.feeOrderNewVoList = {
  965. deptManagerFee: data.deptManagerFee,
  966. list: [...data.entranceFee, ...data.exportFee],
  967. retailFee: data.retailFee,
  968. infoVoList: newObj
  969. }
  970. } else {
  971. this.feeOrderNewVoList = {
  972. deptManagerFee: data.deptManagerFee,
  973. list: [...data.entranceFee, ...data.exportFee],
  974. retailFee: data.retailFee
  975. }
  976. }
  977. }
  978. res.data.carinfo.carnature = this.natureOfVehicleUseCap(res.data.carinfo.carnature)
  979. res.data.carinfo.cartype = this.trafficManagementVehicleTypeCap(res.data.carinfo.cartype)
  980. res.data.carinfo.cimodelclass = this.vehicleTypeCap(res.data.carinfo.cimodelclass)
  981. res.data.carinfo.energyType = this.energyTypeCap(res.data.carinfo.energyType)
  982. res.data.carinfo.vehicleUse = this.outOfBusinessVehicleUseCap(res.data.carinfo.carnature, res.data.carinfo.vehicleUse)
  983. res.data.source = dy.managementSource;
  984. this.orderInfo = res.data;
  985. this.oldfileList = [];
  986. let businessList = []
  987. let accidentList = []
  988. if (res.data.orderstatus == "3") {
  989. /**
  990. if (res.data.isExternal == 1) {
  991. this.$api.letter
  992. .getPolicyPrintexternalOrder(res.data.id).then(res1 => {
  993. if (res1.code == 200) {
  994. if (res1.data.jqPolicy) {
  995. this.oldfileList.push({
  996. fileTitle: "交强电子保单",
  997. filename: this.orderInfo.jqpolicyno,
  998. fileurl: res1.data.jqPolicy
  999. });
  1000. }
  1001. if (res1.data.jqSign) {
  1002. this.oldfileList.push({
  1003. fileTitle: "交强电子标志",
  1004. filename: this.orderInfo.jqpolicyno,
  1005. fileurl: res1.data.jqSign
  1006. });
  1007. }
  1008. if (res1.data.syPolicy) {
  1009. accidentList.push({
  1010. fileTitle: "商业电子保单",
  1011. filename: this.orderInfo.sypolicyno,
  1012. fileurl: res1.data.syPolicy
  1013. });
  1014. }
  1015. if (res1.data.noPolicy) {
  1016. accidentList.push({
  1017. fileTitle: "驾意险保单",
  1018. filename: "驾意险保单",
  1019. fileurl: res1.data.noPolicy
  1020. });
  1021. }
  1022. }
  1023. else {
  1024. this.$message.error(res1.msg)
  1025. }
  1026. })
  1027. }
  1028. else {
  1029. switch (res.data.inscompany) {
  1030. case "永安财险":
  1031. if (this.orderInfo.jqpolicyno) {
  1032. this.$api.letter
  1033. .getPolicyPrint({
  1034. companyId: res.data.id,
  1035. policytype: "jq",
  1036. })
  1037. .then((res) => {
  1038. //交强保单
  1039. if (res.data) {
  1040. let result = res.data.replace(/[\r\n]/g, "");
  1041. let pdfBase64 = `data:application/pdf;base64,${result}`;
  1042. base64ToPath(pdfBase64).then((path) => {
  1043. if (path) {
  1044. this.oldfileList.push({
  1045. fileTitle: "交强电子保单",
  1046. filename: this.orderInfo.jqpolicyno,
  1047. fileurl: path,
  1048. });
  1049. }
  1050. });
  1051. }
  1052. });
  1053. this.$api.letter
  1054. .getPolicyPrint2({
  1055. companyId: res.data.id,
  1056. policytype: "jq",
  1057. })
  1058. .then((res) => {
  1059. //交强保单
  1060. if (res.data) {
  1061. let result = res.data.replace(/[\r\n]/g, "");
  1062. let pdfBase64 = `data:application/pdf;base64,${result}`;
  1063. base64ToPath(pdfBase64).then((path) => {
  1064. if (path) {
  1065. this.oldfileList.push({
  1066. fileTitle: "交强电子标志",
  1067. filename: this.orderInfo.jqpolicyno,
  1068. fileurl: path,
  1069. });
  1070. }
  1071. });
  1072. }
  1073. });
  1074. }
  1075. if (this.orderInfo.sypolicyno) {
  1076. this.$api.letter
  1077. .getPolicyPrint({
  1078. companyId: res.data.id,
  1079. policytype: "sy",
  1080. })
  1081. .then((res) => {
  1082. //商业保单
  1083. if (res.data) {
  1084. let result = res.data.replace(/[\r\n]/g, "");
  1085. let pdfBase64 = `data:application/pdf;base64,${result}`;
  1086. base64ToPath(pdfBase64).then((path) => {
  1087. if (path) {
  1088. businessList.push({
  1089. fileTitle: "商业电子保单",
  1090. filename: this.orderInfo.sypolicyno,
  1091. fileurl: path,
  1092. });
  1093. }
  1094. });
  1095. }
  1096. });
  1097. }
  1098. break;
  1099. case "华泰财险":
  1100. switch (res.data.apiType) {
  1101. case 1:
  1102. if (this.orderInfo.jqpolicyno) {
  1103. this.$api.letter
  1104. .HuataigetPolicyPrint({
  1105. companyId: res.data.id,
  1106. riskCode: "0507",
  1107. type: "2", //2:保单
  1108. })
  1109. .then((res) => {
  1110. if (res.data) {
  1111. if (res.data.jqxPolicyUrl) {
  1112. this.oldfileList.push({
  1113. fileTitle: "交强电子保单",
  1114. filename: this.orderInfo.jqpolicyno,
  1115. fileurl: res.data.jqxPolicyUrl,
  1116. });
  1117. }
  1118. if (res.data.jqxFlagUrl) {
  1119. this.oldfileList.push({
  1120. fileTitle: "交强电子标志",
  1121. filename: this.orderInfo.jqpolicyno,
  1122. fileurl: res.data.jqxFlagUrl,
  1123. });
  1124. }
  1125. } else {
  1126. this.$message.error(res.msg);
  1127. }
  1128. });
  1129. }
  1130. if (this.orderInfo.sypolicyno) {
  1131. this.$api.letter
  1132. .HuataigetPolicyPrint({
  1133. companyId: res.data.id,
  1134. riskCode: "0510",
  1135. type: "2", //2:保单
  1136. })
  1137. .then((res) => {
  1138. if (res.data && res.data.syxPolicyUrl) {
  1139. businessList.push({
  1140. fileTitle: "商业电子保单",
  1141. filename: this.orderInfo.sypolicyno,
  1142. fileurl: res.data.syxPolicyUrl,
  1143. });
  1144. } else {
  1145. this.$message.error(res.msg);
  1146. }
  1147. });
  1148. }
  1149. break;
  1150. case 2:
  1151. if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
  1152. this.$api.letter
  1153. .pythongetPolicyPrint({
  1154. subOrderNo: res.data.id
  1155. })
  1156. .then(res => {
  1157. if (res.code == 200 && res.data) {
  1158. if (res.data.jqxPolicyUrl) {
  1159. this.oldfileList.push({
  1160. fileTitle: "交强电子保单",
  1161. filename: this.orderInfo.jqpolicyno,
  1162. fileurl: res.data.jqxPolicyUrl
  1163. });
  1164. }
  1165. if (res.data.jqxFlagUrl) {
  1166. this.oldfileList.push({
  1167. fileTitle: "交强电子标志",
  1168. filename: this.orderInfo.jqpolicyno,
  1169. fileurl: res.data.jqxFlagUrl
  1170. });
  1171. }
  1172. if (res.data.syxPolicyUrl) {
  1173. businessList.push({
  1174. fileTitle: "商业电子保单",
  1175. filename: this.orderInfo.sypolicyno,
  1176. fileurl: res.data.syxPolicyUrl
  1177. });
  1178. }
  1179. if (
  1180. res.data.jyxInfoList &&
  1181. res.data.jyxInfoList.length > 0
  1182. ) {
  1183. res.data.jyxInfoList.forEach(val => {
  1184. accidentList.push({
  1185. fileTitle: "驾意险保单",
  1186. filename: "驾意险保单",
  1187. fileurl: val.jyx_policy_url
  1188. });
  1189. });
  1190. }
  1191. } else {
  1192. this.$message.error(res.msg);
  1193. }
  1194. });
  1195. }
  1196. break;
  1197. }
  1198. break;
  1199. case "中煤财险":
  1200. if (this.orderInfo.jqpolicyno) {
  1201. this.$api.letter
  1202. .ZhongmeigetPolicyPrint({
  1203. companyId: res.data.id,
  1204. riskCode: "0507",
  1205. type: "2", //2:保单
  1206. })
  1207. .then((res) => {
  1208. if (res.data && res.data[0]) {
  1209. this.oldfileList.push({
  1210. fileTitle: "交强电子保单",
  1211. filename: this.orderInfo.jqpolicyno,
  1212. fileurl: res.data[0],
  1213. });
  1214. } else {
  1215. this.$message.error(res.msg);
  1216. }
  1217. });
  1218. this.$api.letter
  1219. .ZhongmeigetPolicyPrint({
  1220. companyId: res.data.id,
  1221. riskCode: "0507",
  1222. type: "1", // 1:标志
  1223. })
  1224. .then((res) => {
  1225. if (res.data && res.data[0]) {
  1226. this.oldfileList.push({
  1227. fileTitle: "交强电子标志",
  1228. filename: this.orderInfo.jqpolicyno,
  1229. fileurl: res.data[0],
  1230. });
  1231. } else {
  1232. this.$message.error(res.msg);
  1233. }
  1234. });
  1235. }
  1236. if (this.orderInfo.sypolicyno) {
  1237. this.$api.letter
  1238. .ZhongmeigetPolicyPrint({
  1239. companyId: res.data.id,
  1240. riskCode: "0510",
  1241. type: "2", //2:保单
  1242. })
  1243. .then((res) => {
  1244. if (res.data && res.data[0]) {
  1245. businessList.push({
  1246. fileTitle: "商业电子保单",
  1247. filename: this.orderInfo.sypolicyno,
  1248. fileurl: res.data[0],
  1249. });
  1250. } else {
  1251. this.$message.error(res.msg);
  1252. }
  1253. });
  1254. }
  1255. if (this.orderInfo.crossInsurance.length > 0) {
  1256. this.orderInfo.crossInsurance.map((ele) => {
  1257. this.$api.letter
  1258. .ZhongmeigetPolicyPrint({
  1259. ridePolicyNo: ele.ridePolicyNo,
  1260. companyId: res.data.id,
  1261. riskCode: "0513",
  1262. type: "2", //2:保单
  1263. })
  1264. .then((res) => {
  1265. if (res.code == 200 && res.data) {
  1266. accidentList.push({
  1267. fileTitle: "驾意险保单",
  1268. filename: this.orderInfo.sypolicyno,
  1269. fileurl: res.data[0],
  1270. });
  1271. } else {
  1272. this.$message.error(res.msg);
  1273. }
  1274. });
  1275. });
  1276. }
  1277. break;
  1278. case "永诚财险":
  1279. if (this.orderInfo.jqpolicyno) {
  1280. this.$api.letter
  1281. .yongchenggetPolicyPrint({
  1282. companyId: res.data.id,
  1283. riskCode: "0507",
  1284. type: "2", //2:保单
  1285. })
  1286. .then((res) => {
  1287. if (res.code == 200 && res.data) {
  1288. if (res.data.jqUrl) {
  1289. this.oldfileList.push({
  1290. fileTitle: "交强电子保单",
  1291. filename: this.orderInfo.jqpolicyno,
  1292. fileurl: res.data.jqUrl,
  1293. });
  1294. }
  1295. if (res.data.jqFlagUrl) {
  1296. this.oldfileList.push({
  1297. fileTitle: "交强电子标志",
  1298. filename: this.orderInfo.jqpolicyno,
  1299. fileurl: res.data.jqFlagUrl,
  1300. });
  1301. }
  1302. } else {
  1303. this.$message.error(res.msg);
  1304. }
  1305. });
  1306. }
  1307. if (this.orderInfo.sypolicyno) {
  1308. this.$api.letter
  1309. .yongchenggetPolicyPrint({
  1310. companyId: res.data.id,
  1311. riskCode: "0510",
  1312. type: "2", //2:保单
  1313. })
  1314. .then((res) => {
  1315. if (res.data && res.data.syUrl) {
  1316. businessList.push({
  1317. fileTitle: "商业电子保单",
  1318. filename: this.orderInfo.sypolicyno,
  1319. fileurl: res.data.syUrl,
  1320. });
  1321. } else {
  1322. this.$message.error(res.msg);
  1323. }
  1324. });
  1325. }
  1326. if (this.orderInfo.crossInsurance.length > 0) {
  1327. this.orderInfo.crossInsurance.map((ele) => {
  1328. this.$api.letter
  1329. .yongchenggetPolicyPrint({
  1330. companyId: res.data.id,
  1331. policyNumber: ele.policyNumber,
  1332. riskCode: "0513",
  1333. type: "2", //2:保单
  1334. })
  1335. .then((res) => {
  1336. if (res.code == 200 && res.data) {
  1337. accidentList.push({
  1338. fileTitle: "驾意险保单",
  1339. filename: ele.policyNumber,
  1340. fileurl: res.data.jyUrl,
  1341. });
  1342. } else {
  1343. this.$message.error(res.msg);
  1344. }
  1345. });
  1346. });
  1347. }
  1348. break;
  1349. case "国任财险":
  1350. if (this.orderInfo.jqpolicyno) {
  1351. this.$api.letter
  1352. .guoRengetPolicyPrint({
  1353. companyId: res.data.id,
  1354. riskCode: "0507",
  1355. type: "2", //2:保单
  1356. })
  1357. .then((res) => {
  1358. if (res.data) {
  1359. this.oldfileList.push({
  1360. fileTitle: "交强电子保单",
  1361. filename: this.orderInfo.jqpolicyno,
  1362. fileurl: res.data,
  1363. });
  1364. } else {
  1365. this.$message.error(res.msg);
  1366. }
  1367. });
  1368. this.$api.letter
  1369. .guoRengetPolicyPrint({
  1370. companyId: res.data.id,
  1371. riskCode: "0507",
  1372. type: "1", //1:标志
  1373. })
  1374. .then((res) => {
  1375. if (res.data) {
  1376. this.oldfileList.push({
  1377. fileTitle: "交强电子标志",
  1378. filename: this.orderInfo.jqpolicyno,
  1379. fileurl: res.data,
  1380. });
  1381. } else {
  1382. this.$message.error(res.msg);
  1383. }
  1384. });
  1385. }
  1386. if (this.orderInfo.sypolicyno) {
  1387. this.$api.letter
  1388. .guoRengetPolicyPrint({
  1389. companyId: res.data.id,
  1390. riskCode: "0510",
  1391. type: "2", //2:保单
  1392. })
  1393. .then((res) => {
  1394. if (res.data) {
  1395. businessList.push({
  1396. fileTitle: "商业电子保单",
  1397. filename: this.orderInfo.sypolicyno,
  1398. fileurl: res.data,
  1399. });
  1400. } else {
  1401. this.$message.error(res.msg);
  1402. }
  1403. });
  1404. }
  1405. if (this.orderInfo.crossInsurance.length > 0) {
  1406. this.orderInfo.crossInsurance.map((ele) => {
  1407. this.$api.letter
  1408. .guoRengetPolicyPrint({
  1409. companyId: res.data.id,
  1410. policyNumber: ele.policyNumber,
  1411. riskCode: "0513",
  1412. type: "2", //2:保单
  1413. })
  1414. .then((res) => {
  1415. if (res.data) {
  1416. accidentList.push({
  1417. fileTitle: "驾意险保单",
  1418. filename: ele.policyNumber,
  1419. fileurl: res.data,
  1420. });
  1421. } else {
  1422. this.$message.error(res.msg);
  1423. }
  1424. });
  1425. });
  1426. }
  1427. break;
  1428. case "紫金财险":
  1429. if (this.orderInfo.jqpolicyno) {
  1430. this.$api.letter
  1431. .zijingetPolicyPrint({
  1432. companyId: res.data.id,
  1433. riskCode: "0507",
  1434. type: "2", //2:保单
  1435. })
  1436. .then((res) => {
  1437. if (res.data) {
  1438. this.oldfileList.push({
  1439. fileTitle: "交强电子保单",
  1440. filename: this.orderInfo.jqpolicyno,
  1441. fileurl: res.data,
  1442. });
  1443. } else {
  1444. this.$message.error(res.msg);
  1445. }
  1446. });
  1447. this.$api.letter
  1448. .zijingetPolicyPrint({
  1449. companyId: res.data.id,
  1450. riskCode: "0507",
  1451. type: "1", //1:标志
  1452. })
  1453. .then((res) => {
  1454. if (res.data) {
  1455. this.oldfileList.push({
  1456. fileTitle: "交强电子标志",
  1457. filename: this.orderInfo.jqpolicyno,
  1458. fileurl: res.data,
  1459. });
  1460. } else {
  1461. this.$message.error(res.msg);
  1462. }
  1463. });
  1464. }
  1465. if (this.orderInfo.sypolicyno) {
  1466. this.$api.letter
  1467. .zijingetPolicyPrint({
  1468. companyId: res.data.id,
  1469. riskCode: "0510",
  1470. type: "2", //2:保单
  1471. })
  1472. .then((res) => {
  1473. if (res.data) {
  1474. businessList.push({
  1475. fileTitle: "商业电子保单",
  1476. filename: this.orderInfo.sypolicyno,
  1477. fileurl: res.data,
  1478. });
  1479. } else {
  1480. this.$message.error(res.msg);
  1481. }
  1482. });
  1483. }
  1484. if (this.orderInfo.crossInsurance.length > 0) {
  1485. this.orderInfo.crossInsurance.map((ele) => {
  1486. this.$api.letter
  1487. .zijingetPolicyPrint({
  1488. companyId: res.data.id,
  1489. policyNumber: ele.policyNumber,
  1490. riskCode: "0513",
  1491. type: "2", //2:保单
  1492. })
  1493. .then((res) => {
  1494. if (res.data) {
  1495. accidentList.push({
  1496. fileTitle: "驾意险保单",
  1497. filename: ele.policyNumber,
  1498. fileurl: res.data,
  1499. });
  1500. } else {
  1501. this.$message.error(res.msg);
  1502. }
  1503. });
  1504. });
  1505. }
  1506. break;
  1507. case "渤海财险":
  1508. if (this.orderInfo.jqpolicyno) {
  1509. this.$api.letter
  1510. .getPolicyPrintboHai({
  1511. companyId: res.data.id,
  1512. })
  1513. .then((res) => {
  1514. if (res.code == 200 && res.data) {
  1515. if (res.data.jqxPolicyUrl) {
  1516. this.oldfileList.push({
  1517. fileTitle: "交强电子保单",
  1518. filename: this.orderInfo.jqpolicyno,
  1519. fileurl: res.data.jqxPolicyUrl,
  1520. });
  1521. }
  1522. if (res.data.jqxFlagUrl) {
  1523. this.oldfileList.push({
  1524. fileTitle: "交强电子标志",
  1525. filename: this.orderInfo.jqpolicyno,
  1526. fileurl: res.data.jqxFlagUrl,
  1527. });
  1528. }
  1529. if (res.data.syxPolicyUrl) {
  1530. businessList.push({
  1531. fileTitle: "商业电子保单",
  1532. filename: this.orderInfo.sypolicyno,
  1533. fileurl: res.data.syxPolicyUrl,
  1534. });
  1535. }
  1536. if (
  1537. res.data.jyxInfoList &&
  1538. res.data.jyxInfoList.length > 0
  1539. ) {
  1540. res.data.jyxInfoList.forEach((val) => {
  1541. accidentList.push({
  1542. fileTitle: "驾意险保单",
  1543. filename: "驾意险保单",
  1544. fileurl: val.jyx_policy_url,
  1545. });
  1546. });
  1547. }
  1548. } else {
  1549. this.$message.error(res.msg);
  1550. }
  1551. });
  1552. }
  1553. break;
  1554. case "恒邦财险":
  1555. case "安盛天平":
  1556. case "中国人寿":
  1557. case "太平财险":
  1558. case "华农财险":
  1559. case "众安财险":
  1560. if (this.orderInfo.jqpolicyno || this.orderInfo.sypolicyno) {
  1561. this.$api.letter
  1562. .pythongetPolicyPrint({
  1563. subOrderNo: res.data.id,
  1564. })
  1565. .then((res) => {
  1566. if (res.code == 200 && res.data) {
  1567. if (res.data.jqxPolicyUrl) {
  1568. this.oldfileList.push({
  1569. fileTitle: "交强电子保单",
  1570. filename: this.orderInfo.jqpolicyno,
  1571. fileurl: res.data.jqxPolicyUrl,
  1572. });
  1573. }
  1574. if (res.data.jqxFlagUrl) {
  1575. this.oldfileList.push({
  1576. fileTitle: "交强电子标志",
  1577. filename: this.orderInfo.jqpolicyno,
  1578. fileurl: res.data.jqxFlagUrl,
  1579. });
  1580. }
  1581. if (res.data.syxPolicyUrl) {
  1582. businessList.push({
  1583. fileTitle: "商业电子保单",
  1584. filename: this.orderInfo.sypolicyno,
  1585. fileurl: res.data.syxPolicyUrl,
  1586. });
  1587. }
  1588. if (
  1589. res.data.jyxInfoList &&
  1590. res.data.jyxInfoList.length > 0
  1591. ) {
  1592. res.data.jyxInfoList.forEach((val) => {
  1593. accidentList.push({
  1594. fileTitle: "驾意险保单",
  1595. filename: "驾意险保单",
  1596. fileurl: val.jyx_policy_url,
  1597. });
  1598. });
  1599. }
  1600. } else {
  1601. this.$message.error(res.msg);
  1602. }
  1603. });
  1604. }
  1605. break;
  1606. case "大家财险":
  1607. if (this.orderInfo.jqpolicyno) {
  1608. this.$api.letter
  1609. .obtainWarranty({
  1610. companyId: res.data.id,
  1611. riskCode: "0507",
  1612. type: "2", //2:保单
  1613. })
  1614. .then((res) => {
  1615. if (res.data) {
  1616. this.oldfileList.push({
  1617. fileTitle: "交强电子保单",
  1618. filename: this.orderInfo.jqpolicyno,
  1619. fileurl: res.data,
  1620. });
  1621. } else {
  1622. this.$message.error(res.msg);
  1623. }
  1624. });
  1625. this.$api.letter
  1626. .obtainWarranty({
  1627. companyId: res.data.id,
  1628. riskCode: "0507",
  1629. type: "1", //1:标志
  1630. })
  1631. .then((res) => {
  1632. if (res.data) {
  1633. this.oldfileList.push({
  1634. fileTitle: "交强电子标志",
  1635. filename: this.orderInfo.jqpolicyno,
  1636. fileurl: res.data,
  1637. });
  1638. } else {
  1639. this.$message.error(res.msg);
  1640. }
  1641. });
  1642. }
  1643. if (this.orderInfo.sypolicyno) {
  1644. this.$api.letter
  1645. .obtainWarranty({
  1646. companyId: res.data.id,
  1647. riskCode: "0510",
  1648. type: "2", //2:保单
  1649. })
  1650. .then((res) => {
  1651. if (res.data) {
  1652. businessList.push({
  1653. fileTitle: "商业电子保单",
  1654. filename: this.orderInfo.sypolicyno,
  1655. fileurl: res.data,
  1656. });
  1657. }
  1658. });
  1659. }
  1660. if (this.orderInfo.crossInsurance.length > 0) {
  1661. this.orderInfo.crossInsurance.map((ele) => {
  1662. this.$api.letter
  1663. .zijingetPolicyPrint({
  1664. companyId: res.data.id,
  1665. policyNumber: ele.policyNumber,
  1666. riskCode: "0513",
  1667. type: "2", //2:保单
  1668. })
  1669. .then((res) => {
  1670. if (res.data) {
  1671. accidentList.push({
  1672. fileTitle: "驾意险保单",
  1673. filename: ele.policyNumber,
  1674. fileurl: res.data,
  1675. });
  1676. } else {
  1677. this.$message.error(res.msg);
  1678. }
  1679. });
  1680. });
  1681. }
  1682. break;
  1683. default:
  1684. }
  1685. }
  1686. let obj = {
  1687. oldfileList: this.oldfileList,
  1688. businessList,
  1689. accidentList
  1690. }
  1691. this.$refs.detailsDialog.warrantyFun(obj);
  1692. */
  1693. this.$api.readPdf.readPdfUrlList(this.orderInfo.id).then((res) => {
  1694. console.log(res.data)
  1695. if (res.code == 200) {
  1696. this.$refs.detailsDialog.warrantyFun(res.data);
  1697. } else{
  1698. this.$message.error(res.msg);
  1699. }
  1700. });
  1701. }
  1702. this.feeDetailInfo = res.data.orderFeeResult;
  1703. this.oldFeeInfo = res.data.adjustFeeDescVo;
  1704. this.adjustFeeDescInfo = { ...this.oldFeeInfo }
  1705. // this.quotedetailsdialogVisible = true;
  1706. console.log(this.orderInfo)
  1707. this.$refs.detailsDialog.setBackupVisible(true);
  1708. } else {
  1709. this.$message.error("订单获取失败");
  1710. }
  1711. });
  1712. } else {
  1713. this.$message.error(res.msg);
  1714. }
  1715. })
  1716. },
  1717. // 设置每页条数
  1718. applyhandleSizeChange(val) {
  1719. this.pageSize = val;
  1720. this.pageNum = 1;
  1721. this.pageRequest.pageNum = 1;
  1722. this.pageRequest.pageSize = val;
  1723. this.findPage();
  1724. },
  1725. // 当前页
  1726. applyhandleCurrentChange(val) {
  1727. this.pageNum = val;
  1728. this.pageRequest.pageNum = val;
  1729. this.findPage();
  1730. },
  1731. handleRowChange(row) {
  1732. if (!row.expanded) {
  1733. this.$api.letter.querySonOrders({ orderNo: row.orderno }).then(res => {
  1734. if (res.code == '200' && res.data.length != 0) {
  1735. this.pageResult.map(item => {
  1736. if (item.orderno === row.orderno) {
  1737. item.insAreaCompanyList = res.data;
  1738. }
  1739. return item;
  1740. })
  1741. row.expanded = !row.expanded;
  1742. this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
  1743. } else {
  1744. this.$message.info("暂无数据");
  1745. }
  1746. })
  1747. } else {
  1748. row.expanded = !row.expanded;
  1749. this.$refs.expandTable.toggleRowExpansion(row, row.expanded);
  1750. }
  1751. },
  1752. //数据
  1753. findPage() {
  1754. this.loading = true;
  1755. this.$api.task.queryPageOrder(this.pageRequest).then((res) => {
  1756. if (res.code == "200") {
  1757. this.loading = false;
  1758. this.pageResult = res.data.content;
  1759. this.pageNum = res.data.pageNum;
  1760. this.totalSize = res.data.totalSize;
  1761. this.pageResult.forEach(val => {
  1762. this.$set(val, "expanded", false);
  1763. });
  1764. } else {
  1765. this.loading = false;
  1766. }
  1767. })
  1768. },
  1769. //查询
  1770. onSubmit() {
  1771. this.pageRequest.pageNum = 1;
  1772. this.pageRequest.pageSize = 20;
  1773. this.findPage();
  1774. },
  1775. //时间js
  1776. monthChange(e) {
  1777. if (e === null) {
  1778. this.pageRequest.startDate = e;
  1779. this.pageRequest.endDate = e;
  1780. } else {
  1781. this.pageRequest.startDate = e[0];
  1782. this.pageRequest.endDate = e[1];
  1783. }
  1784. },
  1785. tableRowColor({ row, rowIndex }) {
  1786. // console.log(row.problemOrder);
  1787. if (row.problemOrder == 1) {
  1788. return "blue-row";
  1789. }
  1790. },
  1791. }
  1792. }
  1793. </script>
  1794. <style lang="scss" scoped>
  1795. /deep/ {
  1796. .el-table .row-expand-cover .cell .el-table__expand-icon {
  1797. display: none;
  1798. }
  1799. .el-descriptions__body {
  1800. padding: 10px 50px;
  1801. box-sizing: border-box;
  1802. color: rgb(226, 118, 10);
  1803. }
  1804. .el-descriptions-item__label {
  1805. &:not(.is-bordered-label) {
  1806. color: #333;
  1807. }
  1808. }
  1809. .saomazhifucodeClass .el-dialog__body,
  1810. .saomazhifucodeClass .el-dialog__header {
  1811. padding: 0;
  1812. }
  1813. .el-input.is-disabled .el-input__inner {
  1814. color: #333;
  1815. }
  1816. }
  1817. .ORcodebody {
  1818. width: 100%;
  1819. height: auto;
  1820. box-sizing: border-box;
  1821. }
  1822. .code_title {
  1823. width: 100%;
  1824. height: 50px;
  1825. background-color: #fdcb08;
  1826. justify-content: center;
  1827. }
  1828. .code_title>span {
  1829. font-size: 22px;
  1830. color: #000;
  1831. font-weight: bold;
  1832. }
  1833. .ORcode {
  1834. width: 100%;
  1835. background: #fff;
  1836. height: auto;
  1837. display: flex;
  1838. justify-content: center;
  1839. align-items: center;
  1840. padding: 30px;
  1841. box-sizing: border-box;
  1842. border-bottom: 6px dotted #fdcb08;
  1843. }
  1844. .ORcode>div {
  1845. width: 180px;
  1846. height: 180px;
  1847. border: 1px solid #000;
  1848. border-radius: 5px;
  1849. }
  1850. .ORtitle {
  1851. background: #fff;
  1852. width: 100%;
  1853. padding: 20px;
  1854. box-sizing: border-box;
  1855. border-bottom: 1px solid #f2f2f2;
  1856. }
  1857. .ORtitle>div {
  1858. width: 100%;
  1859. margin: 10px 0;
  1860. font-weight: bold;
  1861. font-size: 14px;
  1862. display: flex;
  1863. align-items: center;
  1864. }
  1865. .ORtitle>div>span:nth-child(1) {
  1866. color: #979797;
  1867. text-align: end;
  1868. width: 150px;
  1869. }
  1870. .ORtitle>div>span:nth-child(2) {
  1871. color: #000;
  1872. margin-left: 10px;
  1873. }
  1874. </style>
  1875. <style scoped>
  1876. #qqq {
  1877. background-color: #111;
  1878. width: 300px;
  1879. height: 300px;
  1880. margin: 0 auto;
  1881. /*水平居中*/
  1882. position: relative;
  1883. }
  1884. #qrCode {
  1885. display: inline-block;
  1886. margin: 0 auto;
  1887. /*水平居中*/
  1888. position: relative;
  1889. top: 15%;
  1890. }
  1891. #qrCode img {
  1892. width: 200px;
  1893. height: 200px;
  1894. background-color: #fff;
  1895. padding: 6px;
  1896. }
  1897. .leftContainer {
  1898. width: 80px;
  1899. position: fixed;
  1900. top: 79px;
  1901. left: 30px;
  1902. }
  1903. .leftContainer .el-col {
  1904. width: 80px;
  1905. height: 80px;
  1906. border-bottom: 1px solid #4d5c6f;
  1907. background: #526176;
  1908. cursor: pointer;
  1909. color: #a6aeb9;
  1910. border-radius: 0;
  1911. }
  1912. .leftContainer .el-col a {
  1913. display: block;
  1914. color: #a6aeb9;
  1915. text-decoration: none;
  1916. }
  1917. .leftContainer .el-col a:hover {
  1918. color: #fff;
  1919. }
  1920. .leftContainer .el-col a.active {
  1921. color: #fff;
  1922. }
  1923. .leftContainer .el-col i {
  1924. font-size: 30px;
  1925. margin: 15px 0px 5px;
  1926. }
  1927. .rightContainer {
  1928. width: calc(100vw - 160px);
  1929. margin-left: 100px;
  1930. }
  1931. .rightContainer .header .el-col {
  1932. font-size: 18px;
  1933. font-weight: bold;
  1934. }
  1935. .rightContainer .bodyTitle {
  1936. height: 40px;
  1937. background: #f3f3f3;
  1938. border: 1px solid #dddddd;
  1939. }
  1940. .rightContainer .bodyTitle>label {
  1941. margin: 0px 15px;
  1942. font-weight: bold;
  1943. }
  1944. .rightContainer #demo2 .body,
  1945. .rightContainer #demo6 .body {
  1946. border: 1px solid #ddd;
  1947. padding: 15px;
  1948. border-top: none;
  1949. }
  1950. .rightContainer .el-card {
  1951. margin-bottom: 15px;
  1952. }
  1953. .body .el-row .el-col label {
  1954. text-align: right;
  1955. width: 80px;
  1956. font-size: 14px;
  1957. width: 100%;
  1958. line-height: 36px;
  1959. display: inline-block;
  1960. box-sizing: border-box;
  1961. }
  1962. .disabledInput {
  1963. width: 80% !important;
  1964. background-color: #f5f7fa;
  1965. text-align: center !important;
  1966. max-width: 200px;
  1967. border: 1px solid #e4e7ed;
  1968. color: #c0c4cc;
  1969. cursor: not-allowed;
  1970. border-radius: 4px;
  1971. box-sizing: border-box;
  1972. padding: 0px 10px;
  1973. height: 36px;
  1974. margin: 20px 10%;
  1975. }
  1976. /* 上传图片样式Start */
  1977. .avatar-uploader .el-upload {
  1978. border: 1px dashed #d9d9d9;
  1979. border-radius: 6px;
  1980. cursor: pointer;
  1981. position: relative;
  1982. overflow: hidden;
  1983. }
  1984. .avatar-uploader .el-upload:hover {
  1985. border-color: #409eff;
  1986. }
  1987. .avatar-uploader-icon {
  1988. font-size: 28px;
  1989. color: #8c939d;
  1990. width: 100px;
  1991. height: 100px;
  1992. line-height: 100px;
  1993. text-align: center;
  1994. border: 1px dashed #d9d9d9;
  1995. }
  1996. .avatar {
  1997. border: 1px dashed #d9d9d9;
  1998. padding: 5px;
  1999. border-radius: 6px;
  2000. width: 100px;
  2001. height: 100px;
  2002. display: block;
  2003. }
  2004. .imageStyle {
  2005. display: inline-block;
  2006. width: 100px;
  2007. height: 100px;
  2008. box-shadow: #ddd 0px 0px 5px;
  2009. margin-right: 20px;
  2010. }
  2011. /* 上传图片样式End */
  2012. .dis {
  2013. display: flex;
  2014. }
  2015. .align {
  2016. align-items: center;
  2017. }
  2018. .jus {
  2019. justify-content: space-between;
  2020. }
  2021. .display {
  2022. display: flex;
  2023. justify-content: center;
  2024. align-items: center;
  2025. padding: 10px;
  2026. box-sizing: border-box;
  2027. }
  2028. .block {
  2029. margin-top: 10px;
  2030. }
  2031. .page {
  2032. padding: 14px;
  2033. box-sizing: border-box;
  2034. }
  2035. .el-select--medium {
  2036. vertical-align: bottom !important;
  2037. }
  2038. .widths {
  2039. width: 220px;
  2040. }
  2041. .demo-table-expand {
  2042. width: 100%;
  2043. height: auto;
  2044. padding: 10px 50px;
  2045. font-size: 14px;
  2046. }
  2047. .demo-table-expand-time {
  2048. width: 600px;
  2049. }
  2050. .demo-table-expand-time>div {
  2051. margin: 0 10px;
  2052. }
  2053. .icon-img {
  2054. display: block;
  2055. width: 30px;
  2056. height: 30px;
  2057. }
  2058. .Enclosure {
  2059. width: 100%;
  2060. background-color: #fff;
  2061. padding: 20px;
  2062. box-sizing: border-box;
  2063. margin-bottom: 15px;
  2064. border-radius: 6px;
  2065. border: 1px solid #ebeef5;
  2066. transition: all 0.2s ease-in-out;
  2067. box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  2068. }
  2069. .headers {
  2070. display: flex;
  2071. align-items: center;
  2072. justify-content: space-between;
  2073. flex-wrap: wrap;
  2074. margin: 5px 0;
  2075. font-weight: bold;
  2076. color: #333;
  2077. }
  2078. /* 内容待定 */
  2079. .headers_Custom>div {
  2080. padding: 20px 40px;
  2081. font-size: 16px;
  2082. }
  2083. .headers_Custom>div>span {
  2084. color: rgb(226, 118, 10);
  2085. }
  2086. .back {
  2087. color: #303133;
  2088. font-weight: 700;
  2089. }
  2090. .u-f-ac {
  2091. -webkit-box-align: center;
  2092. align-items: center;
  2093. /* padding: 10px; */
  2094. }
  2095. .bodyTitle {
  2096. height: 40px;
  2097. background: #f3f3f3;
  2098. border: 1px solid #dddddd;
  2099. line-height: 40px;
  2100. padding: 0 20px;
  2101. box-sizing: border-box;
  2102. }
  2103. .bjdbody {
  2104. width: 100%;
  2105. height: auto;
  2106. background-color: rgb(199, 20, 45);
  2107. padding: 20px 10px 0 10px;
  2108. box-sizing: border-box;
  2109. border-radius: 8px;
  2110. }
  2111. .bjdCarMessage,
  2112. .bjdCarSum {
  2113. width: 100%;
  2114. height: auto;
  2115. background-color: #fff;
  2116. border-radius: 8px;
  2117. margin-bottom: 10px;
  2118. padding-bottom: 10px;
  2119. }
  2120. .bjdfooter {
  2121. border-top: 1px solid #fff;
  2122. padding: 10px;
  2123. box-sizing: border-box;
  2124. color: #fff;
  2125. }
  2126. .bjdCarSum>div {
  2127. width: 100%;
  2128. padding: 15px 20px;
  2129. box-sizing: border-box;
  2130. font-weight: bold;
  2131. color: #000;
  2132. border-bottom: 1px solid #f2f2f2;
  2133. }
  2134. .bjdCarMessage1 {
  2135. height: 80px;
  2136. padding: 16px;
  2137. box-sizing: border-box;
  2138. border-bottom: 1px solid #f2f2f2;
  2139. display: flex;
  2140. align-items: center;
  2141. color: #000;
  2142. }
  2143. .bjdCarMessage1>.f-c>span:nth-child(1) {
  2144. font-size: 18px;
  2145. font-weight: bold;
  2146. }
  2147. .bjdCarMessage1>img,
  2148. .bjdfooter>img {
  2149. margin-right: 30px;
  2150. }
  2151. .bjdCarMessage1 .f-c>span:nth-child(2),
  2152. .bjdCarMessage1 .f-c>span:nth-child(3) {
  2153. font-size: 12px;
  2154. margin-top: 5px;
  2155. }
  2156. .bjdCarMessage2_car>span:nth-child(1) {
  2157. color: #000;
  2158. font-weight: bold;
  2159. }
  2160. .bjdCarMessage2_car>span:nth-child(2) {
  2161. color: #999;
  2162. }
  2163. .bjdCarMessage2>ul>li {
  2164. margin: 20px 0;
  2165. }
  2166. .Risk {
  2167. width: 100%;
  2168. height: auto;
  2169. display: flex;
  2170. flex-direction: column;
  2171. align-items: center;
  2172. font-size: 12px;
  2173. }
  2174. .Risk_title {
  2175. width: 100%;
  2176. height: 40px;
  2177. }
  2178. .Risk_title>div {
  2179. background: rgb(199, 20, 45);
  2180. color: rgb(255, 255, 255);
  2181. height: 100%;
  2182. font-weight: 500;
  2183. width: 33.3%;
  2184. padding: 10px 20px;
  2185. box-sizing: border-box;
  2186. border: #fff solid 1px;
  2187. display: flex;
  2188. justify-content: center;
  2189. align-items: center;
  2190. border-bottom: none;
  2191. }
  2192. .Risk_title>div:nth-child(2) {
  2193. border-left: none;
  2194. border-right: none;
  2195. }
  2196. .Risk_data {
  2197. width: 100%;
  2198. height: 40px;
  2199. }
  2200. .Risk_data>div {
  2201. background: #fbf6f7;
  2202. color: rgb(51, 51, 51);
  2203. height: 100%;
  2204. font-weight: 500;
  2205. width: 33.3%;
  2206. padding: 10px 20px;
  2207. box-sizing: border-box;
  2208. border: #fff solid 1px;
  2209. display: flex;
  2210. justify-content: center;
  2211. align-items: center;
  2212. border-bottom: none;
  2213. }
  2214. .Risk_data>div :nth-child(2) {
  2215. border-left: none;
  2216. border-right: none;
  2217. }
  2218. .Risk_title>div :nth-child(3) {
  2219. border-top-right-radius: 10px;
  2220. }
  2221. .jyxStyle>span {
  2222. display: inline-block;
  2223. text-align: center;
  2224. }
  2225. .FeeEnclosure /deep/ table {
  2226. width: 100% !important;
  2227. }
  2228. .FeeEnclosure /deep/ .cell {
  2229. text-align: center;
  2230. }
  2231. .FeeEnclosure /deep/ .el-table__empty-block {
  2232. width: 100% !important;
  2233. }
  2234. .FeeEnclosure .feeadjust-input {
  2235. width: 35%;
  2236. height: 20px;
  2237. font-size: 13px;
  2238. }
  2239. /deep/ .el-table .el-table__row.blue-row {
  2240. background: #409eff;
  2241. opacity: .8;
  2242. color: #fff;
  2243. }
  2244. /deep/.el-table .el-table__row.blue-row:hover{
  2245. color: #000;
  2246. }
  2247. </style>