customPlan.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813
  1. <template>
  2. <view class="custom-body">
  3. <!-- 交强险/车船税 -->
  4. <view class="customView" v-if="['单交','交三','交商'].includes(productName)">
  5. <!-- 标题 -->
  6. <view class="header dis a-c j-start">
  7. <view class="link"></view>
  8. <text class="title">交强险/车船税</text>
  9. </view>
  10. <!-- 内容区 -->
  11. <view class="content-body">
  12. <view class="rowItem dis a-c j-s ">
  13. <text>交强险</text>
  14. <text>投保</text>
  15. </view>
  16. <view class="rowItem dis a-c j-s " @click="vehicleTaxShow=true" style="border-bottom: none;">
  17. <text>车船税</text>
  18. <view class="dis a-c">
  19. <text>{{vehicleAndVesselTaxModel.taxRelifFlag}}</text>
  20. <u-icon name="arrow-right" class="ml-1 " color="#333" size="11"></u-icon>
  21. </view>
  22. </view>
  23. <!-- 车船税详细信息 -->
  24. <view class="vehicleTaxInfo" v-if="vehicleAndVesselTaxVo.taxRelifFlag!=1">
  25. <u--form labelPosition="left" :model="vehicleAndVesselTaxVo" ref="uForm" labelWidth="130"
  26. :labelStyle="{color:'#333',fontSize:'28rpx'}">
  27. <u-form-item
  28. v-show="vehicleAndVesselTaxVo.taxRelifFlag == 2 || vehicleAndVesselTaxVo.taxRelifFlag == 3"
  29. label="减免税凭证号">
  30. <u--input v-model="vehicleAndVesselTaxVo.extendChar2" border="none" clearable
  31. placeholder="请输入" placeholderStyle="text-align:right;font-size:28rpx;"></u--input>
  32. </u-form-item>
  33. <u-form-item v-show="vehicleAndVesselTaxVo.taxRelifFlag == 4" label="完税凭证号">
  34. <u--input v-model="vehicleAndVesselTaxVo.paidFreeCertificate" border="none" clearable
  35. placeholder="请输入" placeholderStyle="text-align:right;font-size:28rpx;"></u--input>
  36. </u-form-item>
  37. <u-form-item
  38. v-show="vehicleAndVesselTaxVo.taxRelifFlag == 2 || vehicleAndVesselTaxVo.taxRelifFlag == 3"
  39. label="减免税原因" @click="relifReasonShow=true">
  40. <u--input v-model="vehicleAndVesselTaxModel.relifReason" disabled
  41. disabledColor="transparent" suffixIcon='arrow-right'
  42. suffixIconStyle="color:#333;font-size:22rpx" placeholder="请选择"
  43. placeholderStyle="text-align:right;font-size:28rpx;" clearable border="none"
  44. style="pointer-events: none;"></u--input>
  45. </u-form-item>
  46. <u-form-item v-show="vehicleAndVesselTaxVo.taxRelifFlag != 1" label="税务机关代码">
  47. <u--input v-model="vehicleAndVesselTaxVo.taxComCode" border="none" clearable
  48. placeholder="请输入" placeholderStyle="text-align:right;font-size:28rpx;"></u--input>
  49. </u-form-item>
  50. <u-form-item v-show="vehicleAndVesselTaxVo.taxRelifFlag != 1" label="税务机关名称">
  51. <u--input v-model="vehicleAndVesselTaxVo.taxComName" border="none" clearable
  52. placeholder="请输入" placeholderStyle="text-align:right;font-size:28rpx;"></u--input>
  53. </u-form-item>
  54. <u-form-item v-show="vehicleAndVesselTaxVo.taxRelifFlag == 4" label="完税凭证填发日期"
  55. @click="taxDocumentDateShow=true">
  56. <u--input v-model="vehicleAndVesselTaxVo.taxDocumentDate" disabled
  57. disabledColor="transparent" clearable :holdKeyboard="true" placeholder="请选择"
  58. placeholderStyle="text-align:right;font-size:28rpx;" border="none"
  59. style="pointer-events: none;">
  60. </u--input>
  61. <view class="suffixClass">
  62. <image src="/static/icon/quote/dateIcon.png" mode="">
  63. </image>
  64. </view>
  65. </u-form-item>
  66. <u-form-item v-show="vehicleAndVesselTaxVo.taxRelifFlag == 4" label="完税凭证地区"
  67. @click="taxPaidAreaCodeShow=true">
  68. <u--input v-model="vehicleAndVesselTaxModel.taxPaidAreaCode" disabled
  69. disabledColor="transparent" clearable :holdKeyboard="true" placeholder="请选择"
  70. suffixIcon='arrow-right' suffixIconStyle="color:#333;font-size:22rpx"
  71. placeholderStyle="text-align:right; font-size:28rpx;" border="none"
  72. style="pointer-events: none;">
  73. </u--input>
  74. </u-form-item>
  75. <u-form-item v-show="vehicleAndVesselTaxVo.taxRelifFlag == 3" label="减税比例">
  76. <u--input v-model="vehicleAndVesselTaxVo.taxRelief" border="none" clearable
  77. placeholder="请输入" placeholderStyle="text-align:right; font-size:28rpx;"></u--input>
  78. </u-form-item>
  79. </u--form>
  80. </view>
  81. </view>
  82. </view>
  83. <!-- 商业险 -->
  84. <view class="customView " v-if="['单商','交三','交商','单三'].includes(productName)">
  85. <view class="header dis a-c j-start">
  86. <view class="link"></view>
  87. <text class="title">商业险</text>
  88. </view>
  89. <!-- 内容区 -->
  90. <view class="content-body">
  91. <!-- 商业险险别 -->
  92. <view class="rowItem dis j-s f-c"
  93. v-for="(kindsItem,kindsIndex) in planDataExpansion.genericPlanInfo.kinds" :key="kindsIndex">
  94. <view class="dis a-c j-s ">
  95. <text>{{kindsItem.kindName}}</text>
  96. <view v-if="kindsItem.kindCode=='A' && kindsItem.options"
  97. class="kindsOptions dis a-c j-s f-wrap">
  98. <view class="selectItem" @click="selectedLimit(kindsIndex,optionsIndex)"
  99. :class="kindsItem.amount==optionsItem.value?'itemactive':''"
  100. v-for="(optionsItem,optionsIndex) in kindsItem.options" :key="optionsIndex">
  101. {{optionsItem.label}}
  102. </view>
  103. </view>
  104. <text v-else class="extraCoverage" @click="extraCoverage(kindsIndex)">更多保额</text>
  105. </view>
  106. <!-- 险种保额 -->
  107. <view v-if="kindsItem.kindCode!='A' && kindsItem.options" class="kindsOptions dis a-c j-s "
  108. :class="[kindsItem.kindCode!='A'?'optionspP24':'']">
  109. <view class="selectItem" @click="selectedLimit(kindsIndex,optionsIndex)"
  110. :class="kindsItem.amount==optionsItem.value?'itemactive':''"
  111. v-for="(optionsItem,optionsIndex) in kindsItem.options.slice(0,4)" :key="optionsIndex">
  112. {{optionsItem.label}}
  113. </view>
  114. </view>
  115. <!-- 永安车损验车事项 -->
  116. <view
  117. v-if="kindsItem.kindCode=='A' && kindsItem.amount=='1' && planDataExpansion.nameSimple=='永安财险'"
  118. class="carDamageInspection dis j-s a-c" @click="carDamagePopup=true">
  119. <text>车损验车事项</text>
  120. <text>{{carCheckerName}}</text>
  121. <u-icon name="arrow-right" class="ml-1 " color="#333" size="11"></u-icon>
  122. </view>
  123. </view>
  124. </view>
  125. </view>
  126. <!-- 驾意险 -->
  127. <view class="customView">
  128. <view class="header dis a-c j-start"
  129. :style="{borderBottom: accidentalDrivingVo.length>0?'1rpx solid #eee':'none'}">
  130. <view class="link"></view>
  131. <text class="title">意外险</text>
  132. <view class="add-Btn dis a-c" @click="goDriving">
  133. <u-icon name="plus-circle" color="#FFAC1D" size="16"></u-icon>
  134. <text>添加驾意险</text>
  135. </view>
  136. </view>
  137. <view class="content-body">
  138. <view class="dirving-rowItem dis f-c " v-for="(dirvingItem,dirvingIndex) in accidentalDrivingVo"
  139. :key="dirvingIndex">
  140. <view class="dis a-c j-s">
  141. <text class="mr-4">{{dirvingItem.productName}}</text>
  142. <u-number-box v-model="dirvingItem.quantity" :min="0">
  143. <view slot="minus" class="numberBoxMinus dis a-c j-c ">
  144. <u-icon name="minus" size="12" color="#333" bold></u-icon>
  145. </view>
  146. <text slot="input" class="numberBoxInput">
  147. {{dirvingItem.quantity}}
  148. </text>
  149. <view slot="plus" class="numberBoxPlus dis a-c j-c ">
  150. <u-icon name="plus" color="#333" size="12" bold></u-icon>
  151. </view>
  152. </u-number-box>
  153. </view>
  154. <!-- 驾意险详细保额 -->
  155. <!-- <view class="dirving-accountability">
  156. <view class="item dis a-c j-s ">
  157. <text>驾乘人员团体人身意外伤害保险(意外医疗)</text>
  158. <text>30万</text>
  159. </view>
  160. </view> -->
  161. <!-- 驾意险金额 -->
  162. <view class="dirving-premium dis a-c j-s ">
  163. <text>费用</text>
  164. <text>{{dirvingItem.premium}}</text>
  165. </view>
  166. </view>
  167. </view>
  168. </view>
  169. <!-- 更多保额 -->
  170. <uni-Popup :show="extraCoveragePopup" @close='extraCoveragePopup=false' headerTitle="选择保额" overflow="auto"
  171. maxHeight="580rpx">
  172. <template #content>
  173. <view class="p-4 dis f-c extraCoveragePopup">
  174. <text class="title mb-4">{{extraCoverageList.kindName}}</text>
  175. <view class="dis a-c j-s f-wrap">
  176. <view class="extra-item dis a-c j-c "
  177. :class="planDataExpansion.genericPlanInfo.kinds[kindIndex].amount==item.value?'extra-active':''"
  178. @click="extraCoverageLimit(index)" v-for="(item,index) in extraCoverageList.kindOptions"
  179. :key="index">
  180. {{item.label}}
  181. </view>
  182. </view>
  183. </view>
  184. </template>
  185. </uni-Popup>
  186. <!-- 车船税类型弹窗 -->
  187. <uni-Popup :show="vehicleTaxShow" @close='vehicleTaxShow=false' headerTitle="选择车船税" overflow="auto"
  188. :closeable="false" maxHeight="580rpx" :closeOnClickOverlay="false">
  189. <template #content>
  190. <view class="p-4">
  191. <u-radio-group v-model="vehicleAndVesselTaxVo.taxRelifFlag" placement="column" iconPlacement="right"
  192. @change="vehicleTaxPopupChange" style="gap: 30rpx 0">
  193. <view class="dis a-c" v-for="(item, index) in car_tax_codeoptions" :key="index">
  194. <u-radio activeColor="#FDE935" iconColor='#333' :name="item.value" style="width: 100%;">
  195. <view class="textregion dis f-c ">
  196. <text style="font-size: 30rpx;color: #333;">{{item.label}}</text>
  197. </view>
  198. </u-radio>
  199. </view>
  200. </u-radio-group>
  201. </view>
  202. </template>
  203. </uni-Popup>
  204. <!-- 减免税原因 -->
  205. <uni-Popup :show="relifReasonShow" @close='relifReasonShow=false' headerTitle="选择减免税原因" overflow="auto"
  206. :closeable="false" maxHeight="580rpx" :closeOnClickOverlay="false">
  207. <template #content>
  208. <view class="p-4">
  209. <u-radio-group v-model="vehicleAndVesselTaxVo.relifReason" placement="column" iconPlacement="right"
  210. @change="relifReasonPopupChange" style="gap: 30rpx 0">
  211. <view class="dis a-c" v-for="(item, index) in car_tax_reason_codeoptions" :key="index">
  212. <u-radio activeColor="#FDE935" iconColor='#333' :name="item.value" style="width: 100%;">
  213. <view class="textregion dis f-c ">
  214. <text style="font-size: 30rpx;color: #333;">{{item.label}}</text>
  215. </view>
  216. </u-radio>
  217. </view>
  218. </u-radio-group>
  219. </view>
  220. </template>
  221. </uni-Popup>
  222. <!-- 车损验车事项 -->
  223. <uni-Popup :show="carDamagePopup" @close='carDamagePopup=false' headerTitle="车损验车事项" overflow="auto"
  224. :closeable="false" maxHeight="580rpx" :closeOnClickOverlay="false">
  225. <template #content>
  226. <view class="p-4">
  227. <u-radio-group v-model="carChecker" placement="column" iconPlacement="right"
  228. @change="carCheckerPopupChange" style="gap: 30rpx 0">
  229. <view class="dis a-c" v-for="(item, index) in ya_damage_verificationoptions" :key="index">
  230. <u-radio activeColor="#FDE935" iconColor='#333' :name="item.value" style="width: 100%;">
  231. <view class="textregion dis f-c ">
  232. <text style="font-size: 30rpx;color: #333;">{{item.label}}</text>
  233. </view>
  234. </u-radio>
  235. </view>
  236. </u-radio-group>
  237. </view>
  238. </template>
  239. </uni-Popup>
  240. <!-- 填发日期 -->
  241. <u-datetime-picker :show="taxDocumentDateShow" v-model="taxDocumentDateValue" mode="date" :formatter="formatter"
  242. @cancel="taxDocumentDateShow=false" @close="taxDocumentDateShow=false" :closeOnClickOverlay="true"
  243. @confirm="taxDocumentDateconfirm" confirmText="确定"></u-datetime-picker>
  244. <!-- 完税地区 -->
  245. <u-picker :show="taxPaidAreaCodeShow" :columns="regionlist" @cancel="taxPaidAreaCodeShow=false" keyName="name"
  246. @confirm="taxPaidAreaCodeconfirm" @close="taxPaidAreaCodeShow=false" :closeOnClickOverlay="true"></u-picker>
  247. </view>
  248. </template>
  249. <script>
  250. export default {
  251. props: {
  252. //车船税信息
  253. vehicleAndVesselTaxVo: {
  254. type: Object,
  255. default: () => ({}),
  256. },
  257. productName: {
  258. type: String,
  259. default: "",
  260. },
  261. car_tax_codeoptions: Array, //车船税类型
  262. car_tax_reason_codeoptions: Array, //减免税原因
  263. ya_damage_verificationoptions: Array, //车损验车事项
  264. drivingInsuranceData: { //驾意险列表
  265. type: Array,
  266. default: () => [],
  267. },
  268. accidentalDrivingVo: { //已选驾意险
  269. type: Array,
  270. default: () => [],
  271. },
  272. // 方案综合数据
  273. planDataExpansion: {
  274. type: Object,
  275. default: () => ({}),
  276. },
  277. vehicleAndVesselTaxModel: {
  278. type: Object,
  279. default: () => ({}),
  280. }
  281. },
  282. data() {
  283. return {
  284. regionlist: [ //完税凭证地区
  285. [{
  286. "name": "北京市",
  287. "value": "110000"
  288. },
  289. {
  290. "name": "天津市",
  291. "value": "120000"
  292. },
  293. {
  294. "name": "河北省",
  295. "value": "130000"
  296. },
  297. {
  298. "name": "山西省",
  299. "value": "140000"
  300. },
  301. {
  302. "name": "内蒙古自治区",
  303. "value": "150000"
  304. },
  305. {
  306. "name": "辽宁省",
  307. "value": "210000"
  308. },
  309. {
  310. "name": "吉林省",
  311. "value": "220000"
  312. },
  313. {
  314. "name": "黑龙江省",
  315. "value": "230000"
  316. },
  317. {
  318. "name": "上海市",
  319. "value": "310000"
  320. },
  321. {
  322. "name": "江苏省",
  323. "value": "320000"
  324. },
  325. {
  326. "name": "浙江省",
  327. "value": "330000"
  328. },
  329. {
  330. "name": "安徽省",
  331. "value": "340000"
  332. },
  333. {
  334. "name": "福建省",
  335. "value": "350000"
  336. },
  337. {
  338. "name": "江西省",
  339. "value": "360000"
  340. },
  341. {
  342. "name": "山东省",
  343. "value": "370000"
  344. },
  345. {
  346. "name": "河南省",
  347. "value": "410000"
  348. },
  349. {
  350. "name": "湖北省",
  351. "value": "420000"
  352. },
  353. {
  354. "name": "湖南省",
  355. "value": "430000"
  356. },
  357. {
  358. "name": "广东省",
  359. "value": "440000"
  360. },
  361. {
  362. "name": "广西壮族自治区",
  363. "value": "450000"
  364. },
  365. {
  366. "name": "海南省",
  367. "value": "460000"
  368. },
  369. {
  370. "name": "重庆市",
  371. "value": "500000"
  372. },
  373. {
  374. "name": "四川省",
  375. "value": "510000"
  376. },
  377. {
  378. "name": "贵州省",
  379. "value": "520000"
  380. },
  381. {
  382. "name": "云南省",
  383. "value": "530000"
  384. },
  385. {
  386. "name": "西藏自治区",
  387. "value": "540000"
  388. },
  389. {
  390. "name": "陕西省",
  391. "value": "610000"
  392. },
  393. {
  394. "name": "甘肃省",
  395. "value": "620000"
  396. },
  397. {
  398. "name": "青海省",
  399. "value": "630000"
  400. },
  401. {
  402. "name": "宁夏回族自治区",
  403. "value": "640000"
  404. },
  405. {
  406. "name": "新疆维吾尔自治区",
  407. "value": "650000"
  408. },
  409. {
  410. "name": "台湾省",
  411. "value": "710000"
  412. },
  413. {
  414. "name": "香港特别行政区",
  415. "value": "810000"
  416. },
  417. {
  418. "name": "澳门特别行政区",
  419. "value": "820000"
  420. }
  421. ]
  422. ],
  423. vehicleTaxShow: false, //车船税弹窗
  424. relifReasonShow: false, //减免税原因弹窗
  425. taxDocumentDateShow: false, //填发日期
  426. taxPaidAreaCodeShow: false, //完税地区
  427. carDamagePopup: false, //车损验车弹窗
  428. extraCoveragePopup: false, //更多保额弹窗
  429. taxDocumentDateValue: Number(new Date()),
  430. carChecker: "",
  431. carCheckerName: "", //车损选中事项
  432. kindIndex: 0, //险别下标
  433. extraCoverageList: { //更多保额
  434. kindName: "",
  435. kindOptions: [],
  436. },
  437. }
  438. },
  439. onShow() {},
  440. async mounted() {},
  441. onLoad() {},
  442. methods: {
  443. goDriving() {
  444. uni.navigateTo({
  445. url: '/pages/quote/selectDriving?list=' + JSON.stringify(this.drivingInsuranceData)
  446. })
  447. },
  448. // 更多保额
  449. extraCoverage(index) {
  450. this.kindIndex = index; //获取当前险种下标
  451. this.extraCoverageList.kindName = this.planDataExpansion.genericPlanInfo.kinds[index].kindName;
  452. this.extraCoverageList.kindOptions = this.planDataExpansion.genericPlanInfo.kinds[index].options;
  453. this.extraCoveragePopup = true;
  454. },
  455. // 更多保额回调
  456. extraCoverageLimit(index) {
  457. this.planDataExpansion.genericPlanInfo.kinds[this.kindIndex].amount = this.extraCoverageList.kindOptions[
  458. index].value;
  459. const options = this.planDataExpansion.genericPlanInfo.kinds[this.kindIndex].options;
  460. const targetId = this.extraCoverageList.kindOptions[index].id;
  461. const activeIndex = options.findIndex(item => item.id === targetId);
  462. if (activeIndex !== -1) {
  463. const [targetItem] = options.splice(activeIndex, 1);
  464. options.unshift(targetItem);
  465. }
  466. this.extraCoveragePopup = false;
  467. },
  468. //完税地区
  469. taxPaidAreaCodeconfirm(e) {
  470. this.vehicleAndVesselTaxVo.taxPaidAreaCode = e.value[0].value;
  471. this.vehicleAndVesselTaxModel.taxPaidAreaCode = e.value[0].name;
  472. this.taxPaidAreaCodeShow = false;
  473. },
  474. //填发日期选择
  475. taxDocumentDateconfirm(e) {
  476. this.vehicleAndVesselTaxVo.taxDocumentDate = uni.$u.timeFormat(e.value, 'yyyy-mm-dd');
  477. this.taxDocumentDateShow = false;
  478. },
  479. formatter(type, value) {
  480. if (type === 'year') {
  481. return `${value}年`
  482. }
  483. if (type === 'month') {
  484. return `${value}月`
  485. }
  486. if (type === 'day') {
  487. return `${value}日`
  488. }
  489. return value
  490. },
  491. //选择车船税类型
  492. vehicleTaxPopupChange(name) {
  493. this.vehicleAndVesselTaxModel.taxRelifFlag = this.car_tax_codeoptions.find(val => val.value == name).label;
  494. this.vehicleTaxShow = false;
  495. },
  496. // 选择减免税原因
  497. relifReasonPopupChange(name) {
  498. this.vehicleAndVesselTaxModel.relifReason = this.car_tax_reason_codeoptions.find(val => val.value == name)
  499. .label;
  500. this.relifReasonShow = false;
  501. },
  502. // 车损验车事项
  503. carCheckerPopupChange(name) {
  504. this.$emit('carCheckerUpdate', name)
  505. this.carCheckerName = this.ya_damage_verificationoptions.find(val => val.value == name).label;
  506. this.carDamagePopup = false;
  507. },
  508. //商业险险别选择回调
  509. selectedLimit(parentIndex, childIndex) {
  510. this.planDataExpansion.genericPlanInfo.kinds[parentIndex].amount = this.planDataExpansion.genericPlanInfo
  511. .kinds[parentIndex].options[childIndex].value
  512. },
  513. // 险别选中样式回调
  514. limitActiveMatch(parentIndex, childIndex) {},
  515. // 车船税信息
  516. /**
  517. * @param {Object} value 选中选项
  518. * @param {Object} name 表单操作字段
  519. * @param {Object} showName 弹窗关闭标识
  520. */
  521. dictionaryConfirm(value, name, showName) {
  522. this.vehicleAndVesselTaxVo[name] = value.value[0].value;
  523. this.model[name] = value.value[0].label;
  524. this[showName] = false;
  525. },
  526. }
  527. }
  528. </script>
  529. <style lang="scss" scoped>
  530. ::v-deep {
  531. .u-input__content__subfix-icon {
  532. margin-left: 12rpx;
  533. image {
  534. width: 30rpx;
  535. height: 30rpx;
  536. }
  537. }
  538. .u-form-item .uni-input-input {
  539. text-align: right !important;
  540. font-weight: bold;
  541. font-size: 28rpx;
  542. color: #333;
  543. }
  544. .u-form-item .u-form-item__body {
  545. padding: 15rpx 0;
  546. box-sizing: border-box;
  547. }
  548. }
  549. .custom-body {
  550. padding: 20rpx 30rpx 166rpx;
  551. box-sizing: border-box;
  552. }
  553. .customView {
  554. width: 100%;
  555. background: #FFFFFF;
  556. border-radius: 10rpx 10rpx 10rpx 10rpx;
  557. margin-bottom: 20rpx;
  558. .header {
  559. padding: 25rpx 30rpx;
  560. box-sizing: border-box;
  561. border-bottom: 1rpx solid #eee;
  562. .link {
  563. width: 6rpx;
  564. height: 30rpx;
  565. background: #FDE935;
  566. border-radius: 0rpx 6rpx 6rpx 0rpx;
  567. margin-right: 10rpx;
  568. }
  569. .title {
  570. font-family: PingFang SC, PingFang SC;
  571. font-weight: bold;
  572. font-size: 32rpx;
  573. color: #333333;
  574. }
  575. .add-Btn {
  576. margin-left: auto;
  577. font-size: 30rpx;
  578. color: #FFAC1D;
  579. text {
  580. margin-left: 4rpx;
  581. line-height: 1.4;
  582. }
  583. }
  584. }
  585. .content-body {
  586. padding: 0 30rpx;
  587. box-sizing: border-box;
  588. >.rowItem,
  589. .dirving-rowItem {
  590. font-size: 30rpx;
  591. color: #333;
  592. padding: 24rpx 0;
  593. box-sizing: border-box;
  594. border-bottom: 1rpx solid #eee;
  595. .extraCoverage {
  596. font-size: 28rpx;
  597. color: #FFAC1D;
  598. }
  599. .optionspP24 {
  600. margin-top: 24rpx;
  601. }
  602. .kindsOptions {
  603. gap: 0 30rpx;
  604. }
  605. .carDamageInspection {
  606. width: 100%;
  607. background: #FFFAFA;
  608. padding: 15rpx 10rpx;
  609. box-sizing: border-box;
  610. border-radius: 10rpx 10rpx 10rpx 10rpx;
  611. margin-top: 24rpx;
  612. text:first-child {
  613. font-size: 28rpx;
  614. color: #333;
  615. margin-right: auto;
  616. }
  617. text:nth-child(2) {
  618. font-size: 28rpx;
  619. color: #333;
  620. }
  621. }
  622. }
  623. >.rowItem:last-child,
  624. .dirving-rowItem:last-child {
  625. border: none;
  626. }
  627. .dirving-premium {
  628. margin-top: 16rpx;
  629. text:last-child {
  630. color: #FF540A;
  631. font-weight: bold;
  632. }
  633. }
  634. .dirving-accountability {
  635. padding: 15rpx 10rpx;
  636. box-sizing: border-box;
  637. background: #FFFAFA;
  638. border-radius: 10rpx 10rpx 10rpx 10rpx;
  639. margin-top: 16rpx;
  640. .item {
  641. text:first-child {
  642. font-size: 26rpx;
  643. color: #666;
  644. }
  645. text:last-child {
  646. font-size: 26rpx;
  647. color: #333;
  648. }
  649. }
  650. }
  651. .vehicleTaxInfo {
  652. flex: 1;
  653. width: 100%;
  654. background: #FFFAFA;
  655. padding: 0 10rpx;
  656. box-sizing: border-box;
  657. border-radius: 10rpx 10rpx 10rpx 10rpx;
  658. margin-bottom: 25rpx;
  659. display: inline-block;
  660. .item {
  661. padding: 15rpx 0;
  662. box-sizing: border-box;
  663. text:first-child {
  664. font-size: 28rpx;
  665. color: #333;
  666. }
  667. text:last-child {
  668. font-size: 28rpx;
  669. color: #333;
  670. font-weight: bold;
  671. }
  672. }
  673. }
  674. .selectItem {
  675. padding: 9rpx 22rpx;
  676. border-radius: 4rpx 4rpx 4rpx 4rpx;
  677. border: 1rpx solid #eee;
  678. font-size: 30rpx;
  679. color: #333;
  680. }
  681. .itemactive {
  682. position: relative;
  683. border: 1px solid #FDE935;
  684. border-radius: 4rpx 4rpx 4rpx 4rpx;
  685. background-color: rgba(253, 233, 53, 0.15);
  686. &::after {
  687. content: '';
  688. position: absolute;
  689. right: 0;
  690. bottom: 0;
  691. width: 0;
  692. height: 0;
  693. border-style: solid;
  694. border-width: 0 0 24rpx 24rpx;
  695. /* 调整三角形大小 */
  696. border-color: transparent transparent #FDE935 transparent;
  697. /* 黄色三角形 */
  698. }
  699. &::before {
  700. content: '✓';
  701. position: absolute;
  702. right: 3rpx;
  703. /* 微调位置 */
  704. bottom: 0;
  705. font-size: 14rpx;
  706. /* 调整对勾大小 */
  707. color: #333;
  708. /* 对勾颜色 */
  709. z-index: 1;
  710. /* 确保对勾在三角形上方 */
  711. }
  712. }
  713. }
  714. }
  715. .extraCoveragePopup {
  716. >.f-wrap {
  717. gap: 40rpx 30rpx;
  718. }
  719. .title {
  720. font-size: 30rpx;
  721. color: #333;
  722. font-weight: bold;
  723. }
  724. .extra-item {
  725. padding: 9rpx 24rpx;
  726. box-sizing: border-box;
  727. border-radius: 4rpx 4rpx 4rpx 4rpx;
  728. border: 1rpx solid #EEEEEE;
  729. font-size: 30rpx;
  730. color: #666;
  731. }
  732. .extra-active {
  733. background-color: #FDE935;
  734. border: 1rpx solid #FDE935;
  735. color: #333;
  736. }
  737. }
  738. // 步进器自定义样式
  739. .numberBoxMinus {
  740. padding: 6rpx;
  741. box-sizing: border-box;
  742. border-radius: 20rpx 20rpx 20rpx 20rpx;
  743. border: 1rpx solid #FDE935;
  744. }
  745. .numberBoxInput {
  746. font-size: 30rpx;
  747. color: #333;
  748. padding: 0 20rpx;
  749. box-sizing: border-box;
  750. text-align: center;
  751. }
  752. .numberBoxPlus {
  753. padding: 6rpx;
  754. box-sizing: border-box;
  755. border-radius: 20rpx 20rpx 20rpx 20rpx;
  756. background-color: #FDE935;
  757. border: 1rpx solid #FDE935;
  758. }
  759. .suffixClass {
  760. margin-left: 10rpx;
  761. font-size: 30rpx;
  762. }
  763. </style>