Verifyuntasks.vue 55 KB

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