Modified.vue 60 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513
  1. <template>
  2. <div class="page-container">
  3. <!-- 查询条件(按车牌号查询) -->
  4. <div class="queryForm" title="检索区" style="padding-top:10px;padding-left:15px;">
  5. <el-form size="mini" ref="queryForm" :model="queryForm" label-width="120px">
  6. <el-row>
  7. <el-col :span="6" style="height: 40px;">
  8. <el-form-item label="所属机构">
  9. <!-- <el-input clearable placeholder="所属机构" v-model="queryForm.deptid"></el-input> -->
  10. <el-select v-model="queryForm.deptid" filterable placeholder="所属机构" clearable style="width: 100%;">
  11. <el-option
  12. v-for="item in totalComapny"
  13. :key="item.id"
  14. :label="item.name"
  15. :value="item.id">
  16. </el-option>
  17. </el-select>
  18. </el-form-item>
  19. </el-col>
  20. <el-col :span="6" style="height: 40px;">
  21. <el-form-item label="任务号">
  22. <el-input clearable placeholder="任务号" v-model="queryForm.quoteno"></el-input>
  23. </el-form-item>
  24. </el-col>
  25. <el-col :span="6" style="height: 40px;">
  26. <el-form-item label="订单号">
  27. <el-input clearable placeholder="订单号" v-model="queryForm.orderno"></el-input>
  28. </el-form-item>
  29. </el-col>
  30. <!-- <el-col :span="6" style="height: 40px;">
  31. <el-form-item label="任务状态">
  32. <el-select clearable v-model="queryForm.orderstatus" placeholder="任务状态" style="width: 100%;" >
  33. <el-option label="报价中" value="0"></el-option>
  34. <el-option label="待核保" value="1"></el-option>
  35. <el-option label="已核保" value="2"></el-option>
  36. <el-option label="已核保待缴费" value="5"></el-option>
  37. <el-option label="已缴费待配送" value="6"></el-option>
  38. <el-option label="已承保" value="7"></el-option>
  39. <el-option label="已关闭" value="99"></el-option>
  40. </el-select>
  41. </el-form-item>
  42. </el-col> -->
  43. <el-col :span="6" style="height: 40px;">
  44. <el-form-item label="车牌号">
  45. <el-input clearable placeholder="车牌号" v-model="queryForm.licenseNo"></el-input>
  46. </el-form-item>
  47. </el-col>
  48. <el-col :span="6" style="height: 40px;">
  49. <el-form-item label="车架号">
  50. <el-input clearable placeholder="车架号" v-model="queryForm.frameNo"></el-input>
  51. </el-form-item>
  52. </el-col>
  53. <el-col :span="6" style="height: 40px;">
  54. <el-form-item label="发动机号">
  55. <el-input clearable placeholder="发动机号" v-model="queryForm.engineNo"></el-input>
  56. </el-form-item>
  57. </el-col>
  58. <el-col :span="6" style="height: 40px;">
  59. <el-form-item label="投保险种">
  60. <el-select v-model="queryForm.riskCode" placeholder="请选择" style="width: 100%;" clearable>
  61. <el-option label="单交强" value="单交强"></el-option>
  62. <el-option label="单商业" value="单商业"></el-option>
  63. <el-option label="单三者" value="单三者"></el-option>
  64. <el-option label="交强+商业" value="交强+商业"></el-option>
  65. <el-option label="交强+三者" value="交强+三者"></el-option>
  66. </el-select>
  67. </el-form-item>
  68. </el-col>
  69. <el-col :span="6" style="height: 40px;" v-if="!isUserOrder">
  70. <el-form-item label="代理人工号">
  71. <el-input clearable placeholder="代理人工号" v-model="queryForm.userid"></el-input>
  72. </el-form-item>
  73. </el-col>
  74. <el-col :span="6" style="height: 40px;" v-if="!isUserOrder">
  75. <el-form-item label="代理人姓名">
  76. <el-input clearable placeholder="代理人姓名" v-model="queryForm.username"></el-input>
  77. </el-form-item>
  78. </el-col>
  79. <el-col :span="6" style="height: 40px;" v-if="!isUserOrder">
  80. <el-form-item label="被保险人">
  81. <el-input clearable placeholder="被保人姓名" v-model="queryForm.insurename"></el-input>
  82. </el-form-item>
  83. </el-col>
  84. <el-col :span="6" style="height: 40px;">
  85. <el-form-item label="保险公司">
  86. <el-select v-model="queryForm.inscompany" placeholder="请选择" style="width: 100%;" clearable>
  87. <el-option label="华农财险" value="华农财险"></el-option>
  88. <el-option label="恒邦财险" value="恒邦财险"></el-option>
  89. <el-option label="中煤财险" value="中煤财险"></el-option>
  90. <el-option label="天安财险" value="天安财险"></el-option>
  91. </el-select>
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="12" style="height: 40px;">
  95. <el-form-item label="报价时间">
  96. <el-date-picker v-model="queryForm.quoteDate" style="width:100%" type="daterange" align="left" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker>
  97. </el-form-item>
  98. </el-col>
  99. <el-col :span="12" style="height: 40px;">
  100. <el-form-item label="起保时间">
  101. <el-date-picker v-model="queryForm.policyDate" style="width:100%" type="daterange" align="left" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"> </el-date-picker>
  102. </el-form-item>
  103. </el-col>
  104. <el-col :span="24" class="u-f u-f-je" style="height: 40px;">
  105. <div class="u-f" style="margin-bottom: 20px; width: 120px;height: 32px; border-radius: 5px;overflow: hidden;" @click="queryGetOrderList" >
  106. <div class="u-f u-f1 u-f-ajc" style="background: #409EFF;color:#fff">查询</div>
  107. <div class="u-f u-f1 u-f-ajc" style="background: #F78948;color:#fff">{{totalSize}}</div>
  108. </div>
  109. </el-col>
  110. </el-row>
  111. </el-form>
  112. </div>
  113. <!-- 任务区域 -->
  114. <div class="tasks">
  115. <div v-if="ordersList.length==0" class="u-f-ajc" style="padding: 240px 0;">
  116. 暂无数据
  117. </div>
  118. <el-card v-if="ordersList.length>0" class="task" :body-style="{padding:'15px'}" shadow="never" v-for="(order,orderItem) in ordersList" :key="order.orderno">
  119. <el-row class="row">
  120. <el-col :span="2" class="u-f u-f-sa">
  121. <label class="label" style="font-size: 18px;font-weight:bold;">{{(currentPage-1)*pageSize+orderItem+1}}</label>
  122. <label class="label">任务号</label>
  123. </el-col>
  124. <el-col :span="3">
  125. <el-input size="mini" disabled v-model="order.quoteno"></el-input>
  126. </el-col>
  127. <el-col :span="2" class="u-f u-f-je">
  128. <label class="label">订单号</label>
  129. </el-col>
  130. <el-col :span="3">
  131. <el-input size="mini" disabled v-model="order.orderno"></el-input>
  132. </el-col>
  133. <el-col :span="2" class="u-f u-f-je">
  134. <label class="label">车牌号</label>
  135. </el-col>
  136. <el-col :span="3">
  137. <el-input size="mini" disabled v-model="order.carinfo.licenseNo"></el-input>
  138. </el-col>
  139. <el-col :span="2" class="u-f u-f-je">
  140. <label class="label">被保险人</label>
  141. </el-col>
  142. <el-col :span="3">
  143. <el-input size="mini" disabled v-model="order.insureinfo.name"></el-input>
  144. </el-col>
  145. <el-col :span="2" class="u-f u-f-je">
  146. <label class="label">任务状态</label>
  147. </el-col>
  148. <el-col :span="2">
  149. <div v-for="(orderStatusItem,orderStatusIndex) in global.orderStatus" :key="orderStatusIndex">
  150. <template v-if="orderStatusItem.value == order.orderstatus">
  151. <el-input size="mini" disabled v-model="orderStatusItem.label"></el-input>
  152. </template>
  153. </div>
  154. </el-col>
  155. </el-row>
  156. <el-row class="row">
  157. <el-col :span="2" class="u-f u-f-je">
  158. <label class="label">代理人工号</label>
  159. </el-col>
  160. <el-col :span="3">
  161. <el-input size="mini" disabled v-model="order.userid"></el-input>
  162. </el-col>
  163. <el-col :span="2" class="u-f u-f-je">
  164. <label class="label">代理人名称</label>
  165. </el-col>
  166. <el-col :span="3">
  167. <el-input size="mini" disabled v-model="order.username"></el-input>
  168. </el-col>
  169. <el-col :span="2" class="u-f u-f-je">
  170. <label class="label">机构归属</label>
  171. </el-col>
  172. <el-col :span="3">
  173. <div v-for="(item,index) in totalComapny" :key="index" v-if="order.deptid.split('D')[0]==item.id">
  174. <el-input size="mini" disabled v-model="item.name"></el-input>
  175. </div>
  176. <!-- <el-input size="mini" disabled v-model="order.deptid" ></el-input> -->
  177. </el-col>
  178. <el-col :span="2" class="u-f u-f-je">
  179. <label class="label">团队归属</label>
  180. </el-col>
  181. <el-col :span="3">
  182. <el-input size="mini" disabled v-model="order.deptname"></el-input>
  183. </el-col>
  184. <el-col :span="2" class="u-f u-f-je">
  185. <label class="label">投保险种</label>
  186. </el-col>
  187. <el-col :span="2">
  188. <el-input size="mini" disabled v-model="order.product"></el-input>
  189. </el-col>
  190. </el-row>
  191. <el-row class="row">
  192. <div v-for="(riskItem,riskIndex) in order.riskinfo" :key="riskIndex">
  193. <template v-if="riskItem.riskCode == '0507'">
  194. <el-col :span="2" class="u-f u-f-je">
  195. <label class="label">交强险起保时间</label>
  196. </el-col>
  197. <el-col :span="3">
  198. <el-input size="mini" disabled v-model="riskItem.startDate"></el-input>
  199. </el-col>
  200. <el-col :span="2" class="u-f u-f-je">
  201. <label class="label">交强险终保时间</label>
  202. </el-col>
  203. <el-col :span="3">
  204. <el-input size="mini" disabled v-model="riskItem.endDate"></el-input>
  205. </el-col>
  206. </template>
  207. </div>
  208. <div v-for="(riskItem,riskIndex) in order.riskinfo" :key="riskIndex+'1'">
  209. <template v-if="riskItem.riskCode == '0510'">
  210. <el-col :span="2" class="u-f u-f-je">
  211. <label class="label">商业险起保时间</label>
  212. </el-col>
  213. <el-col :span="3">
  214. <el-input size="mini" disabled v-model="riskItem.startDate"></el-input>
  215. </el-col>
  216. <el-col :span="2" class="u-f u-f-je">
  217. <label class="label">交强险终保时间</label>
  218. </el-col>
  219. <el-col :span="3">
  220. <el-input size="mini" disabled v-model="riskItem.endDate"></el-input>
  221. </el-col>
  222. </template>
  223. </div>
  224. <el-col :span="2" class="u-f u-f-je">
  225. <label class="label">报价公司</label>
  226. </el-col>
  227. <template v-if="(order.product != '单交强') && (order.product != '单商业') && (order.product != '单三者')">
  228. <el-col :span="2">
  229. <el-input size="mini" disabled v-model="order.inscompany"></el-input>
  230. </el-col>
  231. </template>
  232. <template v-else>
  233. <el-col :span="3">
  234. <el-input size="mini" disabled v-model="order.inscompany"></el-input>
  235. </el-col>
  236. </template>
  237. </el-row>
  238. <el-row class="row">
  239. <!-- <el-col :span="2" class="u-f u-f-je">
  240. <label class="label">受理人工号</label>
  241. </el-col>
  242. <el-col :span="3">
  243. <el-input size="mini" disabled v-model="order.auditid"></el-input>
  244. </el-col>
  245. <el-col :span="2" class="u-f u-f-je">
  246. <label class="label">受理人名字</label>
  247. </el-col>
  248. <el-col :span="3">
  249. <el-input size="mini" disabled v-model="order.auditname"></el-input>
  250. </el-col> -->
  251. <el-col :span="2" class="u-f u-f-je">
  252. <label class="label">报价时间</label>
  253. </el-col>
  254. <el-col :span="3">
  255. <el-input size="mini" disabled v-model="order.createtime"></el-input>
  256. </el-col>
  257. </el-row>
  258. <el-row class="task_bottom u-f u-f-je">
  259. <el-button size="mini" type="danger" style="background-color: #DE504C;border: 1px solid #DE504C;" @click="closeOrder(order.orderno)">关闭报价</el-button>
  260. <el-button size="mini" type="primary" style="background-color: #F99070;border: 1px solid #F99070;" @click="getHistoryList(order.orderno,order.product,order.sumpremium)">查看轨迹</el-button>
  261. <el-button size="mini" type="primary" style="background-color: #C9D636;border: 1px solid #C9D636;" @click="getQuoteInfo(order.orderno)">查看详情</el-button>
  262. </el-row>
  263. </el-card>
  264. <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
  265. :page-sizes="[3, 5, 10]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalSize" style="text-align: end;margin-bottom: 15px;">
  266. </el-pagination>
  267. </div>
  268. <el-dialog fullscreen lock-scroll title="车辆报价信息详情" :visible.sync="dialogVisible" width="40%" center>
  269. <!-- 这是报价信息区域 -->
  270. <el-container>
  271. <el-row class="leftContainer">
  272. <el-col id="level1">
  273. <a href="#demo1" @click="jump('level1')">
  274. <i class="el-icon-truck u-f-sa"></i>
  275. <span class="u-f-ajc">车辆</span>
  276. </a>
  277. </el-col>
  278. <el-col id="level2">
  279. <a href="#demo2" @click="jump('level2')">
  280. <i class="el-icon-user u-f-sa"></i>
  281. <span class="u-f-ajc">关系人</span>
  282. </a>
  283. </el-col>
  284. <el-col id="level3">
  285. <a href="#demo3" @click="jump('level3')">
  286. <i class="el-icon-s-custom u-f-sa"></i>
  287. <span class="u-f-ajc">代理人</span>
  288. </a>
  289. </el-col>
  290. <el-col id="level4">
  291. <a href="#demo4" @click="jump('level4')">
  292. <i class="el-icon-goods u-f-sa"></i>
  293. <span class="u-f-ajc">优惠</span>
  294. </a>
  295. </el-col>
  296. <el-col id="level5">
  297. <a href="#demo5" @click="jump('level5')">
  298. <i class="el-icon-s-platform u-f-sa"></i>
  299. <span class="u-f-ajc">公司</span>
  300. </a>
  301. </el-col>
  302. <el-col id="level6">
  303. <a href="#demo6" @click="jump('level6')">
  304. <i class="el-icon-s-platform u-f-sa"></i>
  305. <span class="u-f-ajc">影像</span>
  306. </a>
  307. </el-col>
  308. </el-row>
  309. <el-row class="rightContainer">
  310. <el-card id="demo1">
  311. <el-row class="header">
  312. <el-col>车辆信息</el-col>
  313. </el-row>
  314. <el-divider></el-divider>
  315. <el-row class="body">
  316. <el-row>
  317. <el-col :span="2">
  318. <label>号牌号码</label>
  319. </el-col>
  320. <el-col :span="5">
  321. <el-input size="small" disabled v-model="orderInfo.carinfo.licenseNo"></el-input>
  322. </el-col>
  323. <el-col :span="3">
  324. <label>号牌种类</label>
  325. </el-col>
  326. <el-col :span="5">
  327. <template v-if="orderInfo.carinfo.licenseTypeCode == '02'">
  328. <el-input size="medium" disabled value="小型汽车号牌"></el-input>
  329. </template>
  330. <template v-if="orderInfo.carinfo.licenseTypeCode != '02'">
  331. <el-input size="medium" disabled :value="'其它号牌'+orderInfo.carinfo.licenseTypeCode"></el-input>
  332. </template>
  333. </el-col>
  334. <el-col :span="3">
  335. <label>车架号</label>
  336. </el-col>
  337. <el-col :span="5">
  338. <el-input size="medium" disabled v-model="orderInfo.carinfo.vinNo"></el-input>
  339. </el-col>
  340. </el-row>
  341. <el-row>
  342. <el-col :span="2">
  343. <label>发动机号</label>
  344. </el-col>
  345. <el-col :span="5">
  346. <el-input size="medium" disabled v-model="orderInfo.carinfo.engineNo"></el-input>
  347. </el-col>
  348. <el-col :span="3">
  349. <label>厂牌型号</label>
  350. </el-col>
  351. <el-col :span="5">
  352. <el-input size="medium" disabled v-model="orderInfo.carinfo.brandName"></el-input>
  353. </el-col>
  354. <el-col :span="3">
  355. <label>车主</label>
  356. </el-col>
  357. <el-col :span="5">
  358. <el-input size="medium" disabled v-model="orderInfo.ownerinfo.name"></el-input>
  359. </el-col>
  360. </el-row>
  361. <el-row>
  362. <el-col :span="2">
  363. <label>核定载客量</label>
  364. </el-col>
  365. <el-col :span="5">
  366. <el-input size="medium" disabled v-model="orderInfo.carinfo.seatCount"></el-input>
  367. </el-col>
  368. <el-col :span="3">
  369. <label>是否过户</label>
  370. </el-col>
  371. <el-col :span="5">
  372. <el-select disabled="" v-model="orderInfo.carinfo.transferFlag" placeholder="请选择" style="width: 100%;">
  373. <el-option label="是" :value="true"></el-option>
  374. <el-option label="否" :value="false"></el-option>
  375. </el-select>
  376. </el-col>
  377. <el-col :span="3">
  378. <label>注册日期</label>
  379. </el-col>
  380. <el-col :span="5">
  381. <el-input size="medium" disabled v-model="registerDateFormat"></el-input>
  382. </el-col>
  383. </el-row>
  384. <el-row>
  385. <el-col :span="2">
  386. <label>新车购置价</label>
  387. </el-col>
  388. <el-col :span="5">
  389. <el-input size="medium" disabled v-model="orderInfo.carinfo.purchasePrice"></el-input>
  390. </el-col>
  391. <el-col :span="3">
  392. <label>车型编码</label>
  393. </el-col>
  394. <el-col :span="5">
  395. <el-input size="medium" disabled v-model="orderInfo.carinfo.modelCode"></el-input>
  396. </el-col>
  397. <el-col :span="3">
  398. <label>发证日期</label>
  399. </el-col>
  400. <el-col :span="5">
  401. <el-input size="medium" disabled v-model="issueDateFormat"></el-input>
  402. </el-col>
  403. </el-row>
  404. <el-row>
  405. <el-col :span="2">
  406. <label>排量(L)</label>
  407. </el-col>
  408. <el-col :span="5">
  409. <el-input size="medium" disabled v-model="orderInfo.carinfo.exhaustScale"></el-input>
  410. </el-col>
  411. <el-col :span="3">
  412. <label>整备质量(KG)</label>
  413. </el-col>
  414. <el-col :span="5">
  415. <el-input size="medium" disabled v-model="orderInfo.carinfo.completeKerbMass"></el-input>
  416. </el-col>
  417. <el-col :span="3">
  418. <label>能源种类</label>
  419. </el-col>
  420. <el-col :span="5">
  421. <el-input size="medium" disabled v-model="orderInfo.carinfo.powertype"></el-input>
  422. </el-col>
  423. </el-row>
  424. </el-row>
  425. </el-card>
  426. <!-- 关系人 -->
  427. <el-card id="demo2">
  428. <el-row class="header">
  429. <el-col>关系人信息</el-col>
  430. </el-row>
  431. <el-divider></el-divider>
  432. <div>
  433. <el-row class="u-f-ac bodyTitle"><label>车主</label></el-row>
  434. <el-row class="body">
  435. <el-row>
  436. <el-col :span="2">
  437. <label>证件类型</label>
  438. </el-col>
  439. <el-col :span="3">
  440. <template v-if="orderInfo.ownerinfo.identifyType == '01'">
  441. <el-input size="medium" disabled value="身份证"></el-input>
  442. </template>
  443. <template v-if="orderInfo.ownerinfo.identifyType != '01'">
  444. <el-input size="medium" disabled :value="'其它证件类型'+orderInfo.ownerinfo.identifyType"></el-input>
  445. </template>
  446. </el-col>
  447. <el-col :span="3">
  448. <label>证件号码</label>
  449. </el-col>
  450. <el-col :span="3">
  451. <el-input size="medium" disabled v-model="orderInfo.ownerinfo.identifyNumber"></el-input>
  452. </el-col>
  453. <el-col :span="3">
  454. <label>姓名</label>
  455. </el-col>
  456. <el-col :span="3">
  457. <el-input size="medium" disabled v-model="orderInfo.ownerinfo.name"></el-input>
  458. </el-col>
  459. <el-col :span="3">
  460. <label>手机号</label>
  461. </el-col>
  462. <el-col :span="3">
  463. <el-input size="medium" disabled v-model="orderInfo.ownerinfo.mobile"></el-input>
  464. </el-col>
  465. </el-row>
  466. <el-row>
  467. <el-col :span="2">
  468. <label>地址</label>
  469. </el-col>
  470. <el-col :span="9">
  471. <el-input size="medium" disabled v-model="orderInfo.ownerinfo.addr"></el-input>
  472. </el-col>
  473. </el-row>
  474. </el-row>
  475. <el-row class="u-f-ac bodyTitle"><label>投保人</label></el-row>
  476. <el-row class="body">
  477. <el-row>
  478. <el-col :span="2">
  479. <label>证件类型</label>
  480. </el-col>
  481. <el-col :span="3">
  482. <template v-if="orderInfo.applyinfo.identifyType == '01'">
  483. <el-input size="medium" disabled value="身份证"></el-input>
  484. </template>
  485. <template v-if="orderInfo.applyinfo.identifyType != '01'">
  486. <el-input size="medium" disabled :value="'其它证件类型'+orderInfo.applyinfo.identifyType"></el-input>
  487. </template>
  488. </el-col>
  489. <el-col :span="3">
  490. <label>证件号码</label>
  491. </el-col>
  492. <el-col :span="3">
  493. <el-input size="medium" disabled v-model="orderInfo.applyinfo.identifyNumber"></el-input>
  494. </el-col>
  495. <el-col :span="3">
  496. <label>姓名</label>
  497. </el-col>
  498. <el-col :span="3">
  499. <el-input size="medium" disabled v-model="orderInfo.applyinfo.name"></el-input>
  500. </el-col>
  501. <el-col :span="3">
  502. <label>手机号</label>
  503. </el-col>
  504. <el-col :span="3">
  505. <el-input size="medium" disabled v-model="orderInfo.applyinfo.mobile"></el-input>
  506. </el-col>
  507. </el-row>
  508. <el-row>
  509. <el-col :span="2">
  510. <label>地址</label>
  511. </el-col>
  512. <el-col :span="9">
  513. <el-input size="medium" disabled v-model="orderInfo.applyinfo.addr"></el-input>
  514. </el-col>
  515. </el-row>
  516. </el-row>
  517. <el-row class="u-f-ac bodyTitle"><label>被保险人</label></el-row>
  518. <el-row class="body">
  519. <el-row>
  520. <el-col :span="2">
  521. <label>证件类型</label>
  522. </el-col>
  523. <el-col :span="3">
  524. <template v-if="orderInfo.insureinfo.identifyType == '01'">
  525. <el-input size="medium" disabled value="身份证"></el-input>
  526. </template>
  527. <template v-if="orderInfo.insureinfo.identifyType != '01'">
  528. <el-input size="medium" disabled :value="'其它证件类型'+orderInfo.insureinfo.identifyType"></el-input>
  529. </template>
  530. </el-col>
  531. <el-col :span="3">
  532. <label>证件号码</label>
  533. </el-col>
  534. <el-col :span="3">
  535. <el-input size="medium" disabled v-model="orderInfo.insureinfo.identifyNumber"></el-input>
  536. </el-col>
  537. <el-col :span="3">
  538. <label>姓名</label>
  539. </el-col>
  540. <el-col :span="3">
  541. <el-input size="medium" disabled v-model="orderInfo.insureinfo.name"></el-input>
  542. </el-col>
  543. <el-col :span="3">
  544. <label>手机号</label>
  545. </el-col>
  546. <el-col :span="3">
  547. <el-input size="medium" disabled v-model="orderInfo.insureinfo.mobile"></el-input>
  548. </el-col>
  549. </el-row>
  550. <el-row>
  551. <el-col :span="2">
  552. <label>地址</label>
  553. </el-col>
  554. <el-col :span="9">
  555. <el-input size="medium" disabled v-model="orderInfo.insureinfo.addr"></el-input>
  556. </el-col>
  557. </el-row>
  558. </el-row>
  559. </div>
  560. </el-card>
  561. <!-- 代理人 -->
  562. <el-card id="demo3">
  563. <el-row class="header">
  564. <el-col>代理人信息</el-col>
  565. </el-row>
  566. <el-divider></el-divider>
  567. <el-row class="body">
  568. <el-row>
  569. <el-col :span="2">
  570. <label>代理人工号</label>
  571. </el-col>
  572. <el-col :span="3">
  573. <el-input size="medium" disabled v-model="orderInfo.userid"></el-input>
  574. </el-col>
  575. <el-col :span="3">
  576. <label>代理人姓名</label>
  577. </el-col>
  578. <el-col :span="3">
  579. <el-input size="medium" disabled v-model="orderInfo.username"></el-input>
  580. </el-col>
  581. <el-col :span="3">
  582. <label>代理人电话</label>
  583. </el-col>
  584. <el-col :span="3">
  585. <el-input size="medium" disabled value="15234685241"></el-input>
  586. </el-col>
  587. <el-col :span="3">
  588. <label>代理人团队</label>
  589. </el-col>
  590. <el-col :span="3">
  591. <el-input size="medium" disabled v-model="orderInfo.deptname"></el-input>
  592. </el-col>
  593. </el-row>
  594. <el-row>
  595. <el-col :span="2">
  596. <label>代理人状态</label>
  597. </el-col>
  598. <el-col :span="3">
  599. <el-input size="medium" disabled value="在职"></el-input>
  600. </el-col>
  601. <el-col :span="3">
  602. <label>代理人归属</label>
  603. </el-col>
  604. <el-col :span="3">
  605. <el-input size="medium" disabled v-model="orderInfo.deptid"></el-input>
  606. </el-col>
  607. </el-row>
  608. </el-row>
  609. </el-card>
  610. <!-- 优惠政策 -->
  611. <el-card id="demo4">
  612. <el-row class="header">
  613. <el-col>优惠政策</el-col>
  614. </el-row>
  615. <el-divider></el-divider>
  616. <el-row class="body">
  617. <el-row class="u-f-ac" style="border-bottom: 1px solid #DDDDDD;height:40px;margin-bottom: 0;background: #F3F3F3;">
  618. <el-col class="u-f-ajc" :span="8">险种名称</el-col>
  619. <el-col class="u-f-ajc" :span="8">优惠比例</el-col>
  620. <el-col class="u-f-ajc" :span="8">优惠金额</el-col>
  621. </el-row>
  622. <el-row v-for="(riskItem,riskIndex) in orderInfo.riskinfo" :key="riskItem.riskCode+'2'" v-if="riskItem.riskCode == '0507'" class="u-f-ac" style="border-bottom: 1px solid #DDDDDD;height:40px;margin-bottom: 0;">
  623. <el-col class="u-f-ajc" :span="8">交强险</el-col>
  624. <el-col class="u-f-ajc" :span="8">{{orderInfo.jqdiscountrate}}%</el-col>
  625. <el-col class="u-f-ajc" :span="8">{{(riskItem.premium*orderInfo.jqdiscountrate/100).toFixed(2)}}</el-col>
  626. </el-row>
  627. <el-row v-for="(riskItem,riskIndex) in orderInfo.riskinfo" :key="riskItem.riskCode+'3'" v-if="riskItem.riskCode == '0510'" class="u-f-ac" style="border-bottom: 1px solid #DDDDDD;height:40px;margin-bottom: 0;">
  628. <el-col class="u-f-ajc" :span="8">商业险</el-col>
  629. <el-col class="u-f-ajc" :span="8">{{orderInfo.sydiscountrate}}%</el-col>
  630. <el-col class="u-f-ajc" :span="8">{{(riskItem.premium*orderInfo.sydiscountrate/100).toFixed(2)}}</el-col>
  631. </el-row>
  632. </el-row>
  633. </el-card>
  634. <!-- 正在报价的保险公司 -->
  635. <el-card id="demo5">
  636. <el-row class="header"><el-col>报价方案</el-col></el-row>
  637. <el-divider></el-divider>
  638. <el-row class="u-f-ac bodyTitle" style="margin-bottom: 20px;"><label>订 单 号 &nbsp;&nbsp;&nbsp;&nbsp; {{orderInfo.orderno}}</label></el-row>
  639. <el-row class="u-f-ac bodyTitle" style="margin-bottom: 20px;"><label style="margin: 0px 15px;font-weight: bold;">投保险种 &nbsp;&nbsp; {{orderInfo.product}}</label></el-row>
  640. <el-row class="u-f-ac bodyTitle" style="margin-bottom: 20px;"><label>报价结果</label></el-row>
  641. <el-row class="body">
  642. <el-row style="border-bottom: 1px solid #DDDDDD;padding-bottom: 10px;">
  643. <el-col class="u-f-ajc" :span="2">报价公司</el-col>
  644. <el-col class="u-f-ajc" :span="5" v-if="orderInfo.product != '单商业'">交强险</el-col>
  645. <el-col class="u-f-ajc" :span="5" v-if="orderInfo.product != '单商业'">车船税</el-col>
  646. <el-col class="u-f-ajc" :span="5" v-if="orderInfo.product != '单交强'">商业险</el-col>
  647. <el-col class="u-f-ajc" :span="5">总价</el-col>
  648. <el-col class="u-f-ajc" :span="2">操作</el-col>
  649. </el-row>
  650. <el-row>
  651. <el-col class="u-f-ajc" :span="2">{{orderInfo.inscompany}}
  652. </el-col>
  653. <el-col class="u-f-ajc" :span="5" v-if="orderInfo.product != '单商业'">{{orderInfo.jqpremium}}</el-col>
  654. <el-col class="u-f-ajc" :span="5" v-if="orderInfo.product != '单商业'">{{orderInfo.taxamount}}</el-col>
  655. <el-col class="u-f-ajc" :span="5" v-if="orderInfo.product != '单交强'">{{orderInfo.sypremium}}</el-col>
  656. <el-col class="u-f-ajc" :span="5">{{orderInfo.sumpremium}}</el-col>
  657. <el-col class="u-f-ajc" :span="2" >
  658. <div class="u-f-ajc" style="color: #0086B3;cursor: pointer; " @click="showInsureList=!showInsureList">{{showInsureList?"收起":"展开"}}</div>
  659. </el-col>
  660. </el-row>
  661. <template v-if="showInsureList">
  662. <el-row style="margin: 20px 40px;">
  663. <el-row class="u-f-ac" style="border-bottom: 1px solid #DDDDDD;height:40px;margin-bottom: 0;background: #F3F3F3;">
  664. <el-col :span="8" class="u-f-ajc">险种名称</el-col>
  665. <el-col :span="8" class="u-f-ajc">保额</el-col>
  666. <el-col :span="8" class="u-f-ajc">保费</el-col>
  667. </el-row>
  668. <div v-for="(riskItem,riskIndex) in orderInfo.riskinfo" :key="riskItem.riskCode+'4'" v-if="riskItem.riskCode == '0507'">
  669. <el-row class="u-f-ac" style="border-bottom: 1px solid #DDDDDD;height:40px;margin-bottom: 0;" >
  670. <el-col :span="8" class="u-f-ajc">
  671. <label class="disabledInput" >交强险</label>
  672. </el-col>
  673. <el-col :span="8" class="u-f-ajc">
  674. <label class="disabledInput" >投保</label>
  675. </el-col>
  676. <el-col :span="8" class="u-f-ajc">
  677. <label class="disabledInput" >{{riskItem.premium}}</label>
  678. </el-col>
  679. </el-row>
  680. <el-row class="u-f-ac" style="border-bottom: 1px solid #DDDDDD;height:40px;margin-bottom: 0;" >
  681. <el-col :span="8" class="u-f-ajc">
  682. <label class="disabledInput" >车船税</label>
  683. </el-col>
  684. <el-col :span="8" class="u-f-ajc"> </el-col>
  685. <el-col :span="8" class="u-f-ajc">
  686. <label class="disabledInput" >{{orderInfo.taxamount}}</label>
  687. </el-col>
  688. </el-row>
  689. </div>
  690. <el-row class="u-f-ac" style="border-bottom: 1px solid #DDDDDD;height:40px;margin-bottom: 0;" v-for="(insureItem,insureIndex) in global.insureList" :key="insureIndex" v-if="insureItem.amount!=0">
  691. <el-col :span="8" class="u-f-ajc">
  692. <label class="disabledInput" >{{insureItem.kindName}}</label>
  693. </el-col>
  694. <el-col :span="8" class="u-f-ajc" v-for="(amtItem,amtIndex) in insureItem.amtList" :key="amtIndex" v-if="amtItem.value == insureItem.amount">
  695. <label class="disabledInput" >{{amtItem.label}}</label>
  696. </el-col>
  697. <el-col :span="8" class="u-f-ajc">
  698. <label class="disabledInput" >{{insureItem.coveragePremium}}</label>
  699. </el-col>
  700. </el-row>
  701. </el-row>
  702. </template>
  703. </el-row>
  704. <el-row class="u-f-ac bodyTitle"><label>保费合计</label></el-row>
  705. <el-row class="body">
  706. <el-row style="margin-top: 20px;" class="u-f u-f-ac">
  707. <label style="margin: 0px 20px 0 15px;width: 80px;">保费合计</label>
  708. <el-input style="width:300px" disabled size="medium" v-model="orderInfo.sumpremium" ></el-input>
  709. </el-row>
  710. </el-row>
  711. </el-card>
  712. <el-card id="demo6">
  713. <el-row class="header">
  714. <el-col>影像</el-col>
  715. </el-row>
  716. <el-divider></el-divider>
  717. <div style="margin-bottom: 10px;">
  718. <el-row class="u-f-ac bodyTitle"><label @click="pic1Control = !pic1Control">行驶证影像</label></el-row>
  719. <el-row class="body" v-show="pic1Control" >
  720. <el-row class="u-f">
  721. <viewer :images="carImageList" >
  722. <img class="imageStyle" v-for="(imageItem,imageIndex) in carImageList" :src="imageItem" :key="imageIndex">
  723. </viewer>
  724. <el-upload
  725. class="avatar-uploader"
  726. action=""
  727. name="carImageList"
  728. :show-file-list="false"
  729. :http-request="httpRequest"
  730. :before-upload="beforeAvatarUpload">
  731. <i class="el-icon-plus avatar-uploader-icon"></i>
  732. </el-upload>
  733. </el-row>
  734. </el-row>
  735. </div>
  736. <div style="margin-bottom: 10px;">
  737. <el-row class="u-f-ac bodyTitle"><label @click="pic2Control = !pic2Control">车主身份证影像</label></el-row>
  738. <el-row class="body" v-show="pic2Control">
  739. <el-row class="u-f">
  740. <viewer :images="ownerImageList" >
  741. <img class="imageStyle" v-for="(imageItem,imageIndex) in ownerImageList" :src="imageItem" :key="imageIndex">
  742. </viewer>
  743. <el-upload
  744. class="avatar-uploader"
  745. action=""
  746. name="ownerImageList"
  747. :show-file-list="false"
  748. :http-request="httpRequest"
  749. :before-upload="beforeAvatarUpload">
  750. <i class="el-icon-plus avatar-uploader-icon"></i>
  751. </el-upload>
  752. </el-row>
  753. </el-row>
  754. </div>
  755. <div style="margin-bottom: 10px;">
  756. <el-row class="u-f-ac bodyTitle"><label @click="pic3Control = !pic3Control">投保人身份证影像</label></el-row>
  757. <el-row class="body" v-show="pic3Control">
  758. <el-row class="u-f">
  759. <viewer :images="policyImageList" >
  760. <img class="imageStyle" v-for="(imageItem,imageIndex) in policyImageList" :src="imageItem" :key="imageIndex">
  761. </viewer>
  762. <el-upload
  763. class="avatar-uploader"
  764. action=""
  765. name="policyImageList"
  766. :show-file-list="false"
  767. :http-request="httpRequest"
  768. :before-upload="beforeAvatarUpload">
  769. <i class="el-icon-plus avatar-uploader-icon"></i>
  770. </el-upload>
  771. </el-row>
  772. </el-row>
  773. </div>
  774. <div style="margin-bottom: 10px;">
  775. <el-row class="u-f-ac bodyTitle"><label @click="pic4Control = !pic4Control">被保人身份证影像</label></el-row>
  776. <el-row class="body" v-show="pic4Control">
  777. <el-row class="u-f">
  778. <viewer :images="insuredImageList" >
  779. <img class="imageStyle" v-for="(imageItem,imageIndex) in insuredImageList" :src="imageItem" :key="imageIndex">
  780. </viewer>
  781. <el-upload
  782. class="avatar-uploader"
  783. action=""
  784. name="insuredImageList"
  785. :show-file-list="false"
  786. :http-request="httpRequest"
  787. :before-upload="beforeAvatarUpload">
  788. <i class="el-icon-plus avatar-uploader-icon"></i>
  789. </el-upload>
  790. </el-row>
  791. </el-row>
  792. </div>
  793. <div style="margin-bottom: 10px;">
  794. <el-row class="u-f-ac bodyTitle"><label @click="pic5Control = !pic5Control">验车照影像</label></el-row>
  795. <el-row class="body" v-show="pic5Control">
  796. <el-row class="u-f">
  797. <viewer :images="carCheckImageList" >
  798. <img class="imageStyle" v-for="(imageItem,imageIndex) in carCheckImageList" :src="imageItem" :key="imageIndex">
  799. </viewer>
  800. <el-upload
  801. class="avatar-uploader"
  802. action=""
  803. name="carCheckImageList"
  804. :show-file-list="false"
  805. :http-request="httpRequest"
  806. :before-upload="beforeAvatarUpload">
  807. <i class="el-icon-plus avatar-uploader-icon"></i>
  808. </el-upload>
  809. </el-row>
  810. </el-row>
  811. </div>
  812. </el-card>
  813. <el-card id="demo7">
  814. <el-row class="header">
  815. <el-col>退回原因</el-col>
  816. </el-row>
  817. <el-divider></el-divider>
  818. <div style="margin-bottom: 10px;">
  819. {{orderInfo.auditopinion}}
  820. </div>
  821. </el-card>
  822. </el-row>
  823. </el-container>
  824. <span slot="footer" class="dialog-footer" style="position: fixed;bottom: 0px;left:0px;background: #fff;width: 100%;padding: 10px 0px;box-shadow: 0 -1px 0 0 #ddd;">
  825. <el-button size="small" @click="dialogVisible = false">关 闭</el-button>
  826. <el-button size="small" type="primary" @click="submit(orderInfo.orderno)">再次提交核保</el-button>
  827. </span>
  828. </el-dialog>
  829. <el-dialog title="订单历史轨迹" :visible.sync="historyDialogVisible" width="1050px" >
  830. <!-- 订单历史轨迹内容区域 -->
  831. <div class="dialogBody" style="border: 1px solid #eaeaea;">
  832. <div class="dialogBodyTop u-f">
  833. <div class="dialogBodyTopLeft" style="border-right: 1px solid #eaeaea; width: 260px;margin-right: 20px;">
  834. <el-row>
  835. <el-col style="margin: 10px 0 10px 10px;font-size: 14px;">投保公司:{{history.company}}</el-col>
  836. <el-col style="margin: 10px 0 10px 10px;font-size: 14px;">订单号:{{history.taskid}}</el-col>
  837. <el-col style="margin: 10px 0 10px 10px;font-size: 14px;">投保险种:{{history.product}}</el-col>
  838. <el-col style="margin: 10px 0 10px 10px;font-size: 14px;">保费金额:{{history.totalmoney}}</el-col>
  839. </el-row>
  840. </div>
  841. <div class="dialogBodyTopRight u-f-ac" style="width: 700px;padding-left: 20px;">
  842. <el-steps style="width:100%" align-center :active="history.active" :space="220" finish-status="success">
  843. <el-step title="报价中"></el-step>
  844. <el-step title="待核保"></el-step>
  845. <el-step title="已核保"></el-step>
  846. <el-step title="已核保待缴费"></el-step>
  847. <el-step title="已缴费待配送"></el-step>
  848. <el-step title="已承保"></el-step>
  849. </el-steps>
  850. </div>
  851. </div>
  852. <div class="dialogBodyBottom">
  853. <el-table border :header-cell-style="{background:'#F2F7FC',fontWeight: '700',color:'#606266'}" stripe :data="history.data" align="center" height="350" style="width: 100%">
  854. <el-table-column align="center" prop="remark" label="订单流程" width="180"></el-table-column>
  855. <el-table-column align="center" prop="createtime" label="流程时间" width="180"></el-table-column>
  856. <el-table-column align="center" prop="operatorid" label="操作人工号"> </el-table-column>
  857. <el-table-column align="center" prop="operator" label="操作人名字"> </el-table-column>
  858. </el-table>
  859. </div>
  860. </div>
  861. <span slot="footer" class="dialog-footer">
  862. <el-button size="small" type="primary" @click="historyDialogVisible = false">确 定</el-button>
  863. </span>
  864. </el-dialog>
  865. </div>
  866. </template>
  867. <script>
  868. import Cookies from "js-cookie"
  869. import { formatWithSeperator,format } from "@/utils/datetime.js";
  870. export default {
  871. name: 'quote',
  872. data() {
  873. return {
  874. peopleid:"",
  875. totalComapny:[],//全部机构
  876. ordersList: [], //展示页面上的订单列表数据
  877. dialogVisible: false, //是否显示订单信息框
  878. showInsureList:false,//是否展示具体险种信息
  879. orderInfo: { //选中的订单
  880. ownerinfo:{},
  881. carinfo:{},
  882. applyinfo:{},
  883. insureinfo:{},
  884. kindinfo:[],
  885. riskinfo:[],
  886. ownerinfo:{}
  887. },
  888. historyDialogVisible: false,
  889. history:{
  890. taskid:"",
  891. company:"",
  892. data:[]
  893. },
  894. currentPage: 1, //当前页码
  895. pageSize:5, //每页数据条数
  896. totalSize:0, //全部的数据条数
  897. optionProps: { //公司下拉列表配置
  898. emitPath:false,
  899. checkStrictly: true,
  900. value: "id",
  901. label: "name",
  902. children: "children"
  903. },
  904. allIns:[], //保险公司下拉列表
  905. //查询的表单
  906. queryForm: {
  907. "deptid": "",
  908. "licenseNo":"",
  909. "frameNo": "",
  910. "engineNo": "",
  911. "userid": "",
  912. "username": "",
  913. "inscompany":"",
  914. "riskCode": "",
  915. "startdate":"",
  916. "enddate": "",
  917. "policystartdate":"",
  918. "policyenddate":"",
  919. "insurename":"",
  920. "quoteno":"",
  921. "orderno":"",
  922. "auditid": "",
  923. "orderstatus":"3",
  924. "quoteDate":"",
  925. "policyDate":"",
  926. "policyDate":"",
  927. "editId":""
  928. },
  929. carImageList:[],//车辆影像
  930. ownerImageList:[],//车主影像
  931. policyImageList:[],//投保人影像
  932. insuredImageList:[],//被保人影像
  933. carCheckImageList:[],//验车照影像
  934. // 影像控制
  935. pic1Control:false,
  936. pic2Control:false,
  937. pic3Control:false,
  938. pic4Control:false,
  939. pic5Control:false,
  940. isUserOrder:false,
  941. agentUserId:''
  942. }
  943. },
  944. created() {
  945. var query=this.$route.query;
  946. if(!!query.id){
  947. this.isUserOrder = true;
  948. this.agentUserId = query.id;
  949. }
  950. this.peopleid = Cookies.get('user');
  951. if(this.peopleid!='admin'){
  952. this.peopledeptid = Cookies.get('user').split('D')[0];
  953. }else{
  954. this.peopledeptid = '9';
  955. }
  956. this.getAllCompany();// 获取机构树的数据
  957. this.getOrderList();
  958. this.getAllIns();
  959. },
  960. computed:{
  961. allinsOption(){
  962. let cloneData = JSON.parse(JSON.stringify(this.allIns)); // 对源数据深度克隆
  963. return cloneData.filter(father => {
  964. // 循环所有项,并添加children属性
  965. let branchArr = cloneData.filter(child => father.id == child.parentId); // 返回每一项的子级数组
  966. branchArr.length > 0 ? (father.children = branchArr) : ""; //给父级添加一个children属性,并赋值
  967. return father.parentId == 0; //返回第一层
  968. });
  969. },
  970. registerDateFormat(){
  971. let date = new Date(this.orderInfo.carinfo.registerDate);
  972. let year = date.getFullYear();
  973. let month = date.getMonth()+1;
  974. let day = date.getDate();
  975. return year+'-'+month+'-'+day;
  976. },
  977. issueDateFormat(){
  978. let date = new Date(this.orderInfo.carinfo.issueDate);
  979. let year = date.getFullYear();
  980. let month = date.getMonth()+1;
  981. let day = date.getDate();
  982. return year+'-'+month+'-'+day;
  983. }
  984. },
  985. methods: {
  986. getAllCompany: function() {
  987. // 获取数据
  988. this.$api.dept.findLeftDeptTree(this.peopledeptid).then(res => {
  989. for(let i=0;i<res.data.length;i++){
  990. if(res.data[i].id.indexOf('D')<0){
  991. this.totalComapny.push(res.data[i]);
  992. }
  993. }
  994. });
  995. },
  996. // 获取所有保险公司
  997. getAllIns(){
  998. this.$api.insCompany.findLeftInsTree("ZG").then(res => {
  999. this.allIns = res.data;
  1000. });
  1001. },
  1002. closeOrder(quoteno){
  1003. this.$confirm('是否确认关闭'+quoteno+'订单?')
  1004. .then(_ => {
  1005. this.$api.task.closeOrderno({'quoteno':quoteno}).then(res => {
  1006. if(res.code == 200){
  1007. this.currentPage=1; //当前页码
  1008. this.totalSize=0; //全部的数据条数
  1009. this.getOrderList();
  1010. this.$message.success("已成功关闭订单")
  1011. }
  1012. });
  1013. })
  1014. .catch(_ => {
  1015. this.$message.info("已取消关闭订单")
  1016. });
  1017. },
  1018. //点击锚链接跳转Start
  1019. jump(obj) {
  1020. var s = document.getElementById(obj);
  1021. var parent = s.parentNode
  1022. for (let i = 0; i < parent.childNodes.length; i++) {
  1023. if (parent.childNodes[i].tagName == 'DIV') {
  1024. if (parent.childNodes[i].childNodes[0].classList.contains("active")) {
  1025. parent.childNodes[i].childNodes[0].classList.remove("active");
  1026. }
  1027. }
  1028. }
  1029. s.childNodes[0].classList.add("active");
  1030. },
  1031. //点击锚链接跳转End
  1032. queryGetOrderList(){
  1033. this.currentPage = 1;
  1034. this.getOrderList();
  1035. },
  1036. handleCurrentChange(page) {
  1037. console.log("页码发生变化")
  1038. this.currentPage = page;
  1039. console.log(this.currentPage);
  1040. this.getOrderList();
  1041. },
  1042. handleSizeChange(size) {
  1043. console.log("每页显示个数变化")
  1044. this.pageSize = size;
  1045. console.log(this.pageSize);
  1046. this.getOrderList();
  1047. },
  1048. //关闭报价任务Start
  1049. closeTaskDialogVisible() {
  1050. this.$confirm('确认关闭?')
  1051. .then(_ => {
  1052. this.dialogVisible = false;
  1053. })
  1054. .catch(_ => {});
  1055. },
  1056. queryHandleClose(done) {
  1057. this.$confirm('确认关闭?')
  1058. .then(_ => {
  1059. done();
  1060. })
  1061. .catch(_ => {});
  1062. },
  1063. //关闭报价任务End
  1064. // 获取报价成功订单信息Start
  1065. getOrderList: function() {
  1066. var data = {
  1067. "columnFilters": {
  1068. "deptid": {"name": "deptid","value": ""},
  1069. "licenseNo": {"name": "licenseNo","value": ""},
  1070. "frameNo": {"name": "frameNo","value": ""},
  1071. "engineNo": {"name": "engineNo","value": ""},
  1072. "userid": {"name": "userid","value": ""},
  1073. "username": {"name": "username","value": ""},
  1074. "inscompany": {"name": "inscompany","value": ""},
  1075. "riskCode": {"name": "riskCode","value": ""},
  1076. "startdate": {"name": "startdate","value": ""},
  1077. "enddate": {"name": "enddate","value": ""},
  1078. "policystartdate": {"name": "policystartdate","value": ""},
  1079. "policyenddate": {"name": "policyenddate","value": ""},
  1080. "insurename": {"name": "insurename","value": ""},
  1081. "auditid": {"name": "auditid","value": ""},
  1082. "quoteno": {"name": "quoteno","value": ""},
  1083. "orderno": {"name": "orderno","value": ""},
  1084. "orderstatus": {"name": "orderstatus","value": "3"},
  1085. "quotestatus": {"name": "quotestatus","value": "1"},
  1086. "editId": {"name": "editId","value": this.peopleid}
  1087. },
  1088. "pageNum": this.currentPage,
  1089. "pageSize": this.pageSize
  1090. }
  1091. for(let key in this.queryForm){
  1092. if((key !="quoteDate") && (key !="policyDate") && (key !="startdate") && (key !="enddate") &&(key !="policystartdate") && (key !="policyenddate") && (key !="editId") ){
  1093. data.columnFilters[key].value = this.queryForm[key];
  1094. }
  1095. if((key =="quoteDate") && (!!this.queryForm.quoteDate)){
  1096. var startdate =formatWithSeperator(this.queryForm.quoteDate[0],'-',':').split(' ')[0];
  1097. var enddate = formatWithSeperator(this.queryForm.quoteDate[1],'-',':').split(' ')[0];
  1098. data.columnFilters.startdate.value = startdate;
  1099. data.columnFilters.enddate.value = enddate;
  1100. }
  1101. if((key =="policyDate") && (!!this.queryForm.policyDate )){
  1102. var policystartdate =formatWithSeperator(this.queryForm.policyDate[0],'-',':').split(' ')[0];
  1103. var policyenddate = formatWithSeperator(this.queryForm.policyDate[1],'-',':').split(' ')[0];
  1104. data.columnFilters.policystartdate.value = policystartdate;
  1105. data.columnFilters.policyenddate.value = policyenddate;
  1106. }
  1107. }
  1108. if(this.isUserOrder){
  1109. data.columnFilters.userid.value = this.agentUserId;
  1110. }else{
  1111. if(this.peopleid!='admin'){
  1112. data.columnFilters.auditid.value = this.peopleid;
  1113. }else{
  1114. data.columnFilters.auditid.value = "";
  1115. }
  1116. }
  1117. this.$api.task.findPage(data).then(res => {
  1118. this.ordersList = res.data.content;
  1119. this.totalSize = res.data.totalSize;
  1120. });
  1121. },
  1122. // 获取报价成功订单信息End
  1123. //获取一个订单的全部信息Start
  1124. getQuoteInfo: function(orderno) {
  1125. this.carImageList=[];
  1126. this.ownerImageList=[];//车主影像
  1127. this.policyImageList=[];//投保人影像
  1128. this.insuredImageList=[];//被保人影像
  1129. this.carCheckImageList=[];//验车照影像
  1130. // 影像控制
  1131. this.pic1Control=false;
  1132. this.pic2Control=false;
  1133. this.pic3Control=false;
  1134. this.pic4Control=false;
  1135. this.pic5Control=false;
  1136. for(let i=0;i< this.global.insureList.length;i++){
  1137. this.global.insureList[i].coveragePremium = "";
  1138. this.global.insureList[i].amount = 0;
  1139. }
  1140. this.$api.task.getOrderInfoByOrderno(orderno).then(res => {
  1141. console.log(res);
  1142. if(res.code ==200){
  1143. Object.assign(this.orderInfo,res.data);
  1144. for(let i=0;i< this.orderInfo.riskinfo.length;i++){
  1145. if(this.orderInfo.riskinfo[i].riskCode=='0510'){
  1146. for(let j=0;j<this.orderInfo.kindinfo.length;j++){
  1147. for(let m =0;m<this.global.insureList.length;m++){
  1148. if(this.orderInfo.kindinfo[j].kindCode == this.global.insureList[m].kindCode){
  1149. this.global.insureList[m].coveragePremium = this.orderInfo.kindinfo[j].coveragePremium;
  1150. if(this.orderInfo.kindinfo[j].kindCode == 'B'){
  1151. this.global.insureList[9].amtList[0].value=this.orderInfo.kindinfo[j].amount;
  1152. }
  1153. if(this.orderInfo.kindinfo[j].kindCode == 'A'){
  1154. this.global.insureList[m].amount = '1';
  1155. }else if(this.global.insureList[m].kindCode == 'D4'){
  1156. this.global.insureList[m].amount = this.orderInfo.kindinfo[j].unitAmount;
  1157. }else if(this.global.insureList[m].isMainRisk ||(this.global.insureList[m].kindCode=='BD')|| (this.global.insureList[m].kindCode=='L')){
  1158. this.global.insureList[m].amount = this.orderInfo.kindinfo[j].amount;
  1159. }else{
  1160. this.global.insureList[m].amount = this.orderInfo.kindinfo[j].deductibleRate;
  1161. }
  1162. }
  1163. }
  1164. }
  1165. }
  1166. }
  1167. this.showInsureList=false;
  1168. this.dialogVisible = true; //在页面上显示订单
  1169. }else{
  1170. this.$message.error("订单获取失败");
  1171. }
  1172. })
  1173. },
  1174. //获取一个订单的全部信息End
  1175. //获取订单轨迹
  1176. getHistoryList: function(taskid,product,totalmoney) {
  1177. this.history.taskid = "";
  1178. this.history.company = "";
  1179. this.history.product = "";
  1180. this.history.totalmoney = "";
  1181. this.history.product = product;
  1182. this.history.totalmoney = totalmoney;
  1183. this.history.data = [];
  1184. this.$api.task.queryOrderHistory(taskid).then(res => {
  1185. if (res.code == 200) {
  1186. this.history.taskid = res.data[0].taskid;
  1187. this.history.company = res.data[res.data.length-1].company;
  1188. if(res.data[res.data.length-1].status=='0'){
  1189. this.history.active = 1;
  1190. }else if(res.data[res.data.length-1].status=='1'){
  1191. this.history.active = 2;
  1192. }else if(res.data[res.data.length-1].status=='2'){
  1193. this.history.active = 3;
  1194. }else if(res.data[res.data.length-1].status=='5'){
  1195. this.history.active = 4;
  1196. }else if(res.data[res.data.length-1].status=='6'){
  1197. this.history.active = 5;
  1198. }else if(res.data[res.data.length-1].status=='7'){
  1199. this.history.active = 6;
  1200. }
  1201. this.history.data=res.data;
  1202. this.historyDialogVisible = true;
  1203. }
  1204. })
  1205. },
  1206. // 上传图片的方法Start
  1207. beforeAvatarUpload(file) {
  1208. const isJPG = (file.type === 'image/jpeg' || file.type === 'image/png') ;
  1209. // const isLt2M = file.size / 1024 / 1024 < 0.2;
  1210. if (!isJPG) {
  1211. this.$message({message: '上传图片只能是 JPG 或者 PNG 格式!',type: 'error',duration:2000})
  1212. }
  1213. // if (!isLt2M) {
  1214. // this.$message.error('上传图片大小不能超过 200KB!');
  1215. // }
  1216. // return isJPG && isLt2M;
  1217. return isJPG;
  1218. },
  1219. httpRequest(options) {
  1220. let file = options.file;
  1221. let filename = options.filename;
  1222. let reader = new FileReader();
  1223. if (file) {
  1224. reader.readAsDataURL(file)
  1225. }
  1226. reader.onload = () => {
  1227. let base64Str = reader.result;
  1228. console.log(options.filename)
  1229. this[options.filename].push(base64Str);
  1230. }
  1231. },
  1232. // 上传图片的方法End
  1233. submit(orderno){
  1234. this.$confirm('是否确认提交核保?', '提示', {}).then(async() => {
  1235. await this.$api.user.savePersonImage({
  1236. taskid:orderno,
  1237. imgtype:"C01",
  1238. imgList:this.carImageList
  1239. })
  1240. await this.$api.user.savePersonImage({
  1241. taskid:orderno,
  1242. imgtype:"C02",
  1243. imgList:this.ownerImageList
  1244. })
  1245. await this.$api.user.savePersonImage({
  1246. taskid:orderno,
  1247. imgtype:"C03",
  1248. imgList:this.policyImageList
  1249. })
  1250. await this.$api.user.savePersonImage({
  1251. taskid:orderno,
  1252. imgtype:"C04",
  1253. imgList:this.insuredImageList
  1254. })
  1255. await this.$api.user.savePersonImage({
  1256. taskid:orderno,
  1257. imgtype:"C05",
  1258. imgList:this.carCheckImageList
  1259. })
  1260. let param={
  1261. orderno:orderno,
  1262. jqappoint:'',
  1263. syappoint:''
  1264. }
  1265. await this.$api.task.submitAudit(param).then((res)=>{
  1266. if(res.code == 200){
  1267. this.$message({message: '操作成功',type: 'success',duration:2000})
  1268. this.dialogVisible = false;
  1269. this.currentPage= 1; //当前页码
  1270. this.totalSize= 0; //全部的数据条数
  1271. this.getOrderList();
  1272. }else{
  1273. this.$message({message: '操作失败, ' + res.msg,type: 'error',duration:2000})
  1274. }
  1275. })
  1276. })
  1277. }
  1278. }
  1279. }
  1280. </script>
  1281. <style scoped>
  1282. .queryForm{
  1283. background: #F2F7FC;
  1284. position:relative;
  1285. border:1px solid #ddd;
  1286. border-radius: 10px;
  1287. margin-top: 15px;
  1288. margin-bottom: 15px;
  1289. padding: 10px 20px 0;
  1290. }
  1291. .queryForm:before{
  1292. content:attr(title);
  1293. position:absolute;
  1294. left:10%;
  1295. transform:translate(-50%,-120%);
  1296. /* -webkit-transform:translate(-50%,-50%); */
  1297. padding:0 10px;
  1298. background-color:#fff;
  1299. }
  1300. /* 页面的整体布局 */
  1301. .page-container {
  1302. margin: 0px 10px;
  1303. }
  1304. /* 任务区域样式Start */
  1305. .tasks {}
  1306. .task {
  1307. border-color: #A6A6A6;
  1308. line-height: 25px;
  1309. font-size: 14px;
  1310. margin-bottom: 10px;
  1311. }
  1312. .task .row{
  1313. margin-bottom: 10px;
  1314. line-height: 28px;
  1315. font-size: 12px;
  1316. }
  1317. .task .row .label{
  1318. padding:0 10px;
  1319. }
  1320. .task_bottom {
  1321. margin-top: 10px;
  1322. }
  1323. /* 任务区域样式End */
  1324. /* 弹出窗口(订单详情)Start */
  1325. .leftContainer {
  1326. width: 80px;
  1327. position: fixed;
  1328. top: 79px;
  1329. left: 30px;
  1330. }
  1331. .leftContainer .el-col {
  1332. width: 80px;
  1333. height: 80px;
  1334. border-bottom: 1px solid #4D5C6F;
  1335. background: #526176;
  1336. cursor: pointer;
  1337. color: #A6AEB9;
  1338. border-radius: 0;
  1339. }
  1340. .leftContainer .el-col a {
  1341. display: block;
  1342. color: #A6AEB9;
  1343. text-decoration: none;
  1344. }
  1345. .leftContainer .el-col a:hover {
  1346. color: #fff;
  1347. }
  1348. .leftContainer .el-col a.active {
  1349. color: #fff;
  1350. }
  1351. .leftContainer .el-col i {
  1352. font-size: 30px;
  1353. margin: 15px 0px 5px;
  1354. }
  1355. .rightContainer {
  1356. width: calc(100vw - 160px);
  1357. margin-left: 100px;
  1358. }
  1359. .rightContainer .header .el-col{
  1360. font-size:18px;
  1361. font-weight: bold;
  1362. }
  1363. .rightContainer .bodyTitle{
  1364. height: 40px;
  1365. background: #F3F3F3;
  1366. border:1px solid #DDDDDD
  1367. }
  1368. .rightContainer .bodyTitle>label{
  1369. margin: 0px 15px;
  1370. font-weight: bold;
  1371. }
  1372. .rightContainer #demo2 .body,.rightContainer #demo6 .body{
  1373. border: 1px solid #DDD;
  1374. padding: 15px;
  1375. border-top: none;
  1376. }
  1377. .rightContainer .el-card {
  1378. margin-bottom: 15px;
  1379. }
  1380. /* 弹出窗口(订单详情)End */
  1381. .body .el-row {
  1382. margin-bottom: 15px;
  1383. }
  1384. .body .el-row .el-col label {
  1385. text-align: right;
  1386. width: 80px;
  1387. font-size: 14px;
  1388. width: 100%;
  1389. line-height: 36px;
  1390. display: inline-block;
  1391. box-sizing: border-box;
  1392. padding-right: 15px;
  1393. }
  1394. .disabledInput{
  1395. width: 80%!important;
  1396. background-color: #F5F7FA;
  1397. text-align: center!important;
  1398. max-width: 200px;
  1399. border: 1px solid #E4E7ED;
  1400. color: #C0C4CC;
  1401. cursor: not-allowed;
  1402. border-radius: 4px;
  1403. box-sizing: border-box;
  1404. padding: 0px 10px;
  1405. height: 36px;
  1406. margin: 20px 10%;
  1407. }
  1408. /* 上传图片样式Start */
  1409. .avatar-uploader .el-upload {
  1410. border: 1px dashed #d9d9d9;
  1411. border-radius: 6px;
  1412. cursor: pointer;
  1413. position: relative;
  1414. overflow: hidden;
  1415. }
  1416. .avatar-uploader .el-upload:hover {
  1417. border-color: #409EFF;
  1418. }
  1419. .avatar-uploader-icon {
  1420. font-size: 28px;
  1421. color: #8c939d;
  1422. width: 100px;
  1423. height: 100px;
  1424. line-height: 100px;
  1425. text-align: center;
  1426. border: 1px dashed #d9d9d9;
  1427. }
  1428. .avatar {
  1429. border: 1px dashed #d9d9d9;
  1430. padding: 5px;
  1431. border-radius: 6px;
  1432. width: 100px;
  1433. height: 100px;
  1434. display: block;
  1435. }
  1436. .imageStyle{
  1437. display: inline-block;
  1438. width: 100px;
  1439. height: 100px;
  1440. box-shadow:#ddd 0px 0px 5px;
  1441. margin-right: 20px;
  1442. }
  1443. /* 上传图片样式End */
  1444. /deep/ .el-input.is-disabled .el-input__inner{
  1445. color: #333;
  1446. }
  1447. </style>