BXDetails.vue 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320
  1. <template>
  2. <div class="JCDetails" style="padding:0 50px;">
  3. <h1>保险核保</h1>
  4. <!-- <div class="topbox">
  5. <div class="selec">
  6. <el-select v-model="value" clearable placeholder="请选择">
  7. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
  8. </el-option>
  9. </el-select>
  10. </div>
  11. <div class="timeselec">
  12. </div>
  13. </div> -->
  14. <div class="topbox" style="display: flex;justify-content: space-between;">
  15. <div style="flex: 1;"></div>
  16. <div class="selec ershi">
  17. <el-select v-model="value" filterable multiple collapse-tags clearable placeholder="请选择">
  18. <el-option v-for="(item, index) in options" :key="index" :label="item.text" :value="item.value">
  19. </el-option>
  20. </el-select>
  21. </div>
  22. <div class="timeselec ershi">
  23. <el-date-picker v-model="value1" type="daterange" range-separator="至" start-placeholder="开始日期"
  24. end-placeholder="结束日期">
  25. </el-date-picker>
  26. </div>
  27. <button class="ershi" style="width: 100px;height: 40px;background-color: aqua;"
  28. @click="chaxun2(value, value1)">查询</button>
  29. </div>
  30. <div> <el-table ref="table" :height="taheight" show-summary :summary-method="getSummaries" :header-cell-style="{
  31. background: 'rgba(30, 111, 200,0.8)',
  32. color: 'white',
  33. textAlign: 'center',
  34. border: '1px rgb(70, 91, 117) solid',
  35. }" :data="tableData" style="width: 100%">
  36. <el-table-column prop="name" fixed label="店名" width="150">
  37. </el-table-column>
  38. <!-- <el-table-column header-align="center" label="平安保险"> -->
  39. <el-table-column label="平安保险">
  40. <el-table-column prop="paxbds" sortable width="110" label="新保单数">
  41. </el-table-column>
  42. <el-table-column prop="paxbje" sortable width="110" label="新保金额">
  43. </el-table-column>
  44. <el-table-column prop="pazbds" sortable width="110" label="续保单数">
  45. </el-table-column>
  46. <el-table-column prop="pazbje" sortable width="110" label="续保金额">
  47. </el-table-column>
  48. <el-table-column prop="pazje" sortable width="120" label="总承包金额">
  49. </el-table-column>
  50. </el-table-column>
  51. <el-table-column label="人寿保险">
  52. <el-table-column prop="rsxbds" sortable width="110" label="新保单数">
  53. </el-table-column>
  54. <el-table-column prop="rsxbje" sortable width="110" label="新保金额">
  55. </el-table-column>
  56. <el-table-column prop="rszbds" sortable width="110" label="续保单数">
  57. </el-table-column>
  58. <el-table-column prop="rszbje" sortable width="110" label="续保金额">
  59. </el-table-column>
  60. <el-table-column prop="rszje" sortable width="120" label="总承包金额">
  61. </el-table-column>
  62. </el-table-column>
  63. <el-table-column label="人保保险">
  64. <el-table-column prop="rbxbds" sortable width="110" label="新保单数">
  65. </el-table-column>
  66. <el-table-column prop="rbxbje" sortable width="110" label="新保金额">
  67. </el-table-column>
  68. <el-table-column prop="rbzbds" sortable width="110" label="续保单数">
  69. </el-table-column>
  70. <el-table-column prop="rbzbje" sortable width="110" label="续保金额">
  71. </el-table-column>
  72. <el-table-column prop="rbzje" sortable width="120" label="总承包金额">
  73. </el-table-column>
  74. </el-table-column>
  75. <el-table-column label="太平洋保险">
  76. <el-table-column prop="tpyxbds" sortable width="110" label="新保单数">
  77. </el-table-column>
  78. <el-table-column prop="tpyxbje" sortable width="110" label="新保金额">
  79. </el-table-column>
  80. <el-table-column prop="tpyzbds" sortable width="110" label="续保单数">
  81. </el-table-column>
  82. <el-table-column prop="tpyzbje" sortable width="110" label="续保金额">
  83. </el-table-column>
  84. <el-table-column prop="tpyzje" sortable width="120" label="总承包金额">
  85. </el-table-column>
  86. </el-table-column>
  87. <el-table-column label="其他保险">
  88. <el-table-column prop="qtxbds" sortable width="110" label="新保单数">
  89. </el-table-column>
  90. <el-table-column prop="qtxbje" sortable width="110" label="新保金额">
  91. </el-table-column>
  92. <el-table-column prop="qtzbds" sortable width="110" label="续保单数">
  93. </el-table-column>
  94. <el-table-column prop="qtzbje" sortable width="110" label="续保金额">
  95. </el-table-column>
  96. <el-table-column prop="qtzje" sortable width="120" label="总承包金额">
  97. </el-table-column>
  98. </el-table-column>
  99. </el-table></div>
  100. </div>
  101. </template>
  102. <script>
  103. import { column } from "./tuozhuai";
  104. import { bxcbhbtabledataInfo } from "../../../servuces/prove";
  105. import { nowdaterange } from "../../../servuces/getnowtime";
  106. export default {
  107. data () {
  108. return {
  109. taheight: window.innerHeight - (window.innerHeight * 0.15),
  110. tableData: [],
  111. tableDatahj: [],
  112. options: [],
  113. value: '',
  114. value1: '',
  115. activeName: 'second'
  116. }
  117. },
  118. created () {
  119. const data = sessionStorage.getItem('data')
  120. console.log(data);
  121. if (data) {
  122. this.options = JSON.parse(data)
  123. }
  124. },
  125. mounted () {
  126. this.bxcbhbtabledataapi()
  127. column(this)
  128. },
  129. updated () {
  130. this.$nextTick(() => {
  131. this.$refs.table.doLayout()
  132. })
  133. },
  134. methods: {
  135. getSummaries () {
  136. const keyindex = {
  137. 'company': 0,
  138. 'paxbds': 1,
  139. 'paxbje': 2,
  140. 'pazbds': 3,
  141. 'pazbje': 4,
  142. 'pazje': 5,
  143. 'rsxbds': 6,
  144. 'rsxbje': 7,
  145. 'rszbds': 8,
  146. 'rszbje': 9,
  147. 'rszje': 10,
  148. 'rbxbds': 11,
  149. 'rbxbje': 12,
  150. 'rbzbds': 13,
  151. 'rbzbje': 14,
  152. 'rbzje': 15,
  153. 'tpyxbds': 16,
  154. 'tpyxbje': 17,
  155. 'tpyzbds': 18,
  156. 'tpyzbje': 19,
  157. 'tpyzje': 20,
  158. 'qtxbds': 21,
  159. 'qtxbje': 22,
  160. 'qtzbds': 23,
  161. 'qtzbje': 24,
  162. 'qtzje': 25,
  163. }
  164. const item_value = []
  165. for (let key in this.tableDatahj) {
  166. let index = keyindex[key]
  167. item_value[index] = this.tableDatahj[key] + ''
  168. }
  169. // console.log(item_value);
  170. item_value[0] = '合计'
  171. return item_value
  172. },
  173. chaxun2 (value, value1) {
  174. const strvalue = value.join(',')
  175. if (value1) {
  176. const strvaluezh = value1.map(item => {
  177. const date = new Date(item)
  178. // 获取年份和月份
  179. const year = date.getFullYear();
  180. const month = date.getMonth() + 1; // 月份从0开始,需要加1
  181. const day = date.getDate()
  182. // 将年份和月份拼接成所需形式的字符串
  183. return `${year}-${month}-${day}`;
  184. });
  185. bxcbhbtabledataInfo({ "company_ids": strvalue, "date_begin": strvaluezh[0], 'date_end': strvaluezh[1] }).then(res => {
  186. // console.log('查询分期业务', res);
  187. this.tableData = res.data
  188. this.tableDatahj = res.footer
  189. console.log(res);
  190. }
  191. )
  192. } else {
  193. bxcbhbtabledataInfo({ "company_ids": strvalue, "date_begin": '', 'date_end': '' }).then(res => {
  194. // console.log('查询分期业务', res);
  195. this.tableData = res.data
  196. this.tableDatahj = res.footer
  197. // console.log(res);
  198. }
  199. )
  200. }
  201. },
  202. //接口数据
  203. bxcbhbtabledataapi () {
  204. this.value1 = nowdaterange
  205. bxcbhbtabledataInfo({ "company_ids": '', "date_begin": nowdaterange[0], 'date_end': nowdaterange[1] }).then(res => {
  206. console.log('保险承保table数据', res);
  207. this.tableData = res.data
  208. this.tableDatahj = res.footer
  209. })
  210. },
  211. }
  212. }
  213. </script>
  214. <style>
  215. /* .el-table tr {
  216. background-color: none;
  217. color: white;
  218. } */
  219. .el-table .warning-row {
  220. background-color: rgba(15, 78, 146, 0.827);
  221. }
  222. .el-table .success-row {
  223. background-color: rgb(15, 78, 146, 0.5);
  224. }
  225. .has-gutter tr th:last-child {
  226. background-color: rgba(30, 111, 200, 0.8);
  227. }
  228. .el-table tr {
  229. background-color: rgb(15, 78, 146, 0.5);
  230. }
  231. </style>
  232. <style scoped lang="scss">
  233. .JCDetails {
  234. .selec {
  235. margin: 0 0 20px 0;
  236. }
  237. }
  238. ::v-deep .el-table__footer-wrapper {
  239. margin: 0;
  240. }
  241. ::v-deep .el-table__footer {
  242. // margin: 0;
  243. border: none;
  244. tr {
  245. border: none;
  246. td {
  247. color: white;
  248. background-color: rgba(30, 111, 200, 0.8);
  249. }
  250. td:hover {
  251. color: white;
  252. }
  253. }
  254. }
  255. ::v-deep .el-table {
  256. background-color: transparent;
  257. border-color: rgb(70, 91, 117);
  258. }
  259. ::v-deep .el-table td,
  260. .building-top .el-table th.is-leaf {
  261. border-color: rgb(70, 91, 117);
  262. color: white;
  263. }
  264. ::v-deep .el-table td:hover {
  265. color: rgb(5, 51, 159);
  266. }
  267. ::v-deep .gutter {
  268. background-color: rgba(30, 111, 200, 0.8) !important;
  269. border: 0 !important;
  270. }
  271. ::v-deep .has-gutter th {
  272. border-color: rgb(70, 91, 117);
  273. }
  274. ::v-deep .el-table__body tr.hover-row>td.el-table__cell {
  275. background-color: rgb(58, 147, 189) !important;
  276. }
  277. ::v-deep .el-table--enable-row-hover .el-table__body tr:hover>td {
  278. background-color: rgb(58, 147, 189);
  279. }
  280. ::v-deep #tab-first,
  281. ::v-deep #tab-second,
  282. ::v-deep #tab-third,
  283. ::v-deep #tab-fourth {
  284. color: #fff; //设置修改默认蚊子颜色,背景颜色,等
  285. }
  286. ::v-deep .el-tabs__item.is-active {
  287. color: rgb(37, 99, 214) !important;
  288. }
  289. </style>