Verifyuntasks.vue 56 KB

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