securityCheckHeader.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779
  1. <template>
  2. <div class="security-check-header">
  3. <template v-if="title">
  4. <div class="title">{{ title }}</div>
  5. </template>
  6. <a-form ref="form" class="form" name="basic" :model="formData" @keyup.enter.native="search">
  7. <template v-if="withChangeButton">
  8. <div class="but" @click="change"></div>
  9. <!-- <a-form-item style="margin-right: 16px">
  10. <a-button
  11. size="small"
  12. :class="['btn-icon-only', { 'icon-change': !changeButtonLoading }]"
  13. :loading="changeButtonLoading"
  14. @click="change"
  15. />
  16. </a-form-item> -->
  17. </template>
  18. <template v-if="withDatePicker">
  19. <a-form-item prop="beginDate" style="margin-right: 8px">
  20. <a-date-picker
  21. v-model="formData.beginDate"
  22. type="date"
  23. size="small"
  24. format="YYYY-MM-DD"
  25. valueFormat="YYYY-MM-DD"
  26. />
  27. </a-form-item>
  28. <a-form-item prop="endDate" style="margin-right: 36px">
  29. <a-date-picker
  30. v-model="formData.endDate"
  31. type="date"
  32. size="small"
  33. format="YYYY-MM-DD"
  34. valueFormat="YYYY-MM-DD"
  35. />
  36. </a-form-item>
  37. <a-form-item prop="dateRangeRadio" class="radio-wrapper" style="margin-right: 36px">
  38. <a-radio-group v-model="formData.dateRangeRadio" size="small">
  39. <a-radio-button
  40. value="当日"
  41. :class="formData.dateRangeRadio == '当日' ? 'btn-mo' : 'btn-mos'"
  42. style="border-right: none"
  43. ><div class="btn-day">当日</div></a-radio-button
  44. >
  45. <a-radio-button value="当月" :class="formData.dateRangeRadio == '当月' ? 'btn-mo' : 'btn-mos'"
  46. ><div class="btn-day">当月</div></a-radio-button
  47. >
  48. <a-radio-button
  49. value="当年"
  50. style="border-left: none"
  51. :class="formData.dateRangeRadio == '当年' ? 'btn-mo' : 'btn-mos'"
  52. ><div class="btn-day">当年</div></a-radio-button
  53. >
  54. </a-radio-group>
  55. </a-form-item>
  56. </template>
  57. <template v-if="withSelect">
  58. <a-form-item prop="selection" style="margin-right: 16px">
  59. <a-select
  60. :mode="mode"
  61. :placeholder="selectPlaceholder"
  62. :value="formData.selection ? formData.selection : undefined"
  63. @change="handleChange"
  64. allowClear
  65. >
  66. <a-select-option v-for="item in optionLists" :key="item.name" :value="item.name" :title="item.label">
  67. {{ item.name }}
  68. </a-select-option>
  69. </a-select>
  70. <!-- <a-select
  71. v-model="formData.selection"
  72. size="small"
  73. :default-value="optionLists[0]"
  74. >
  75. <a-select-option
  76. v-for="option in optionList"
  77. :key="option.value"
  78. :value="option.value"
  79. :label="option.label"
  80. />
  81. </a-select> -->
  82. </a-form-item>
  83. </template>
  84. <template v-if="withInput">
  85. <!-- <a-form-item prop="searchText" style="margin-right: 8px">
  86. <a-auto-complete
  87. ref="autocomplete"
  88. v-model="formData.searchText"
  89. size="small"
  90. prefix-icon="el-icon-search"
  91. :trigger-on-focus="false"
  92. :fetch-suggestions="querySearch"
  93. value-key="name"
  94. :placeholder="searchPlaceholder"
  95. clearable
  96. @clear="inputClearHandler"
  97. />
  98. </a-form-item> -->
  99. <!-- <a-form-item prop="searchText" style="margin-right: 16px">
  100. <a-select
  101. mode="multiple"
  102. :placeholder="searchPlaceholder"
  103. :value="formData.searchText ? formData.searchText : undefined"
  104. @change="handleChange"
  105. allowClear
  106. >
  107. <a-select-option v-for="item in optionLists" :key="item.name" :value="item.name" :title="item.label">
  108. {{ item.name }}
  109. </a-select-option>
  110. </a-select>
  111. </a-form-item> -->
  112. <a-select
  113. v-if="agentShow"
  114. :placeholder="searchPlaceholder"
  115. v-model="formData.searchTexts"
  116. allowClear
  117. style="width: 200px"
  118. show-search
  119. mode="combobox"
  120. :filter-option="filterManager"
  121. @change="changeManager"
  122. >
  123. <a-select-option
  124. :value="item.agentName"
  125. v-for="(item, index) in locationsData"
  126. :key="index"
  127. :data_mobile="item.agentName"
  128. >
  129. {{ item.agentName }}
  130. </a-select-option>
  131. </a-select>
  132. </template>
  133. <template v-if="withInputer">
  134. <a-form-item prop="searchText" style="margin-right: 8px">
  135. <a-auto-complete
  136. ref="autocomplete"
  137. v-model="formData.searchText"
  138. size="small"
  139. prefix-icon="el-icon-search"
  140. :trigger-on-focus="false"
  141. :fetch-suggestions="querySearch"
  142. value-key="name"
  143. :placeholder="searchPlaceholder"
  144. clearable
  145. @clear="inputClearHandler"
  146. />
  147. </a-form-item>
  148. </template>
  149. <template v-if="withSearchButton">
  150. <a-form-item style="margin-right: 16px">
  151. <a-button size="small" type="primary" @click="search">查询</a-button>
  152. </a-form-item>
  153. <!-- <a-form-item style="margin-right: 24px">
  154. <a-button size="small" class="btn-white" @click="resetSearch"
  155. >重置</a-button
  156. >
  157. </a-form-item> -->
  158. </template>
  159. <template v-if="withExportButton">
  160. <div class="buts" @click="exportexcel"></div>
  161. <!-- <a-form-item>
  162. <a-button size="small" class="btn-icon-only icon-export" />
  163. </a-form-item> -->
  164. </template>
  165. </a-form>
  166. </div>
  167. </template>
  168. <script>
  169. import { routepage } from '@/api/statistics/statistics.js'
  170. export default {
  171. props: {
  172. mode: {
  173. type: String,
  174. default: '',
  175. },
  176. title: {
  177. type: String,
  178. default: '',
  179. },
  180. withChangeButton: {
  181. type: Boolean,
  182. default: true,
  183. },
  184. withDatePicker: {
  185. type: Boolean,
  186. default: true,
  187. },
  188. withSelect: {
  189. type: Boolean,
  190. default: true,
  191. },
  192. // 传入下拉选项
  193. selectOptions: {
  194. type: Array,
  195. default: () => [],
  196. },
  197. selectPlaceholder: {
  198. type: String,
  199. default: '全部代理人等级',
  200. },
  201. withInput: {
  202. type: Boolean,
  203. default: true,
  204. },
  205. withInputer: {
  206. type: Boolean,
  207. default: false,
  208. },
  209. searchPlaceholder: {
  210. type: String,
  211. default: '请输入代理人名称',
  212. },
  213. // 传入输入框自动填充项
  214. inputOptions: {
  215. type: Array,
  216. default: () => [],
  217. },
  218. withSearchButton: {
  219. type: Boolean,
  220. default: true,
  221. },
  222. withExportButton: {
  223. type: Boolean,
  224. default: true,
  225. },
  226. agentShow: {
  227. type: Boolean,
  228. default: true,
  229. },
  230. optionLists: {
  231. type: Array,
  232. default: () => [
  233. {
  234. name: '全部',
  235. lable: '',
  236. },
  237. {
  238. name: 'A',
  239. lable: 'A',
  240. },
  241. {
  242. name: 'B',
  243. lable: 'B',
  244. },
  245. {
  246. name: 'C',
  247. lable: 'C',
  248. },
  249. {
  250. name: 'D',
  251. lable: 'D',
  252. },
  253. ],
  254. },
  255. },
  256. data() {
  257. return {
  258. changeButtonLoading: false,
  259. locationsData: [],
  260. locationsDatacopy: [],
  261. // optionLists: [
  262. // {
  263. // name: "全部",
  264. // lable: "",
  265. // },
  266. // {
  267. // name: "A",
  268. // lable: "A",
  269. // },
  270. // {
  271. // name: "B",
  272. // lable: "B",
  273. // },
  274. // {
  275. // name: "C",
  276. // lable: "C",
  277. // },
  278. // {
  279. // name: "D",
  280. // lable: "D",
  281. // },
  282. // ],
  283. // optionLists: ["", "A", "B", "C", "D"],
  284. formData: {
  285. beginDate: null,
  286. endDate: null,
  287. dateRangeRadio: '',
  288. selection: '',
  289. searchText: '',
  290. searchTexts: '',
  291. },
  292. optionList: [],
  293. inputList: [],
  294. }
  295. },
  296. watch: {
  297. // "$router": {
  298. // // handler(val) {
  299. // // debugger;
  300. // // if (val) {
  301. // // this.formData = this.$route.query;
  302. // // this.formData.beginDate = this.$route.query.startTime;
  303. // // }
  304. // // },
  305. // },
  306. // 'formData.searchText': {
  307. // handler(val) {
  308. // if (!val) {
  309. // this.locationsData = []
  310. // } else {
  311. // this.locationsData = this.locationsDatacopy
  312. // debugger
  313. // }
  314. // },
  315. // },
  316. 'formData.dateRangeRadio': {
  317. handler(val) {
  318. function formatNumber(num) {
  319. return num < 10 ? '0' + num : num
  320. }
  321. function getLastDayOfMonth(year, month) {
  322. if (month === 2) {
  323. if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) {
  324. return 29
  325. } else {
  326. return 28
  327. }
  328. } else if ([1, 3, 5, 7, 8, 10, 12].includes(month)) {
  329. return 31
  330. } else {
  331. return 30
  332. }
  333. }
  334. const now = new Date()
  335. const year = now.getFullYear()
  336. const month = now.getMonth() + 1
  337. const date = now.getDate()
  338. switch (val) {
  339. case '当日':
  340. this.formData.beginDate = this.formData.endDate = `${year}-${formatNumber(month)}-${formatNumber(date)}`
  341. break
  342. case '当月':
  343. this.formData.beginDate = `${year}-${formatNumber(month)}-01`
  344. this.formData.endDate = `${year}-${formatNumber(month)}-${getLastDayOfMonth(year, month)}`
  345. break
  346. case '当年':
  347. this.formData.beginDate = `${year}-01-01`
  348. this.formData.endDate = `${year}-12-31`
  349. break
  350. default:
  351. break
  352. }
  353. this.search()
  354. },
  355. },
  356. // "formData.beginDate": {
  357. // handler(val, oldVal) {
  358. // if (oldVal) {
  359. // this.search();
  360. // }
  361. // },
  362. // },
  363. // "formData.endDate": {
  364. // handler(val, oldVal) {
  365. // if (oldVal) {
  366. // this.search();
  367. // }
  368. // },
  369. // },
  370. selectOptions: {
  371. handler(val) {
  372. if (val.length) {
  373. this.optionList = val
  374. }
  375. },
  376. deep: true,
  377. immediate: true,
  378. },
  379. inputOptions: {
  380. handler(val) {
  381. if (val.length) {
  382. this.inputList = val
  383. }
  384. },
  385. deep: true,
  386. immediate: true,
  387. },
  388. },
  389. activated() {
  390. this.routepageall()
  391. if (Object.keys(this.$route.params).length == 0) {
  392. if (!this.formData.beginDate || !this.formData.endDate) {
  393. this.formData.dateRangeRadio = '当日'
  394. }
  395. } else {
  396. this.formData.dateRangeRadio = ''
  397. this.formData.beginDate = this.$route.params.startTime
  398. this.formData.endDate = this.$route.params.endTime
  399. if (this.$route.params.beginDate) {
  400. this.formData.beginDate = this.$route.params.beginDate
  401. }
  402. if (this.$route.params.endDate) {
  403. this.formData.endDate = this.$route.params.endDate
  404. }
  405. // this.formData.selection = this.$route.query.levelId
  406. // ? this.$route.query.levelId
  407. // : this.$route.query.agentLevel;
  408. this.formData.selection = this.$route.params.places
  409. ? this.$route.params.places
  410. : this.$route.params.levelId
  411. ? this.$route.params.levelId
  412. : this.$route.params.agentLevel
  413. if (!this.withInputer) {
  414. this.formData.searchText = this.$route.params.proxyId
  415. ? this.$route.params.proxyId
  416. : this.$route.params.agentCode
  417. this.locationsDatacopy.forEach((element) => {
  418. if (element.agentId == this.formData.searchText) {
  419. this.formData.searchTexts = element.agentName
  420. }
  421. })
  422. }
  423. // this.formData.agentLevel = this.$route.query.agentLevel;
  424. // this.formData.agentCode = this.$route.query.agentCode;
  425. }
  426. },
  427. mounted() {},
  428. methods: {
  429. changeManager(e) {
  430. if (e) {
  431. this.locationsData = JSON.parse(JSON.stringify(this.locationsDatacopy))
  432. this.locationsDatacopy.forEach((element) => {
  433. if (element.agentName == e) {
  434. this.formData.searchText = element.agentId
  435. }
  436. })
  437. } else {
  438. this.locationsData = []
  439. this.formData.searchText = ''
  440. this.formData.searchTexts = ''
  441. }
  442. },
  443. filterManager(input, option) {
  444. // option.componentOptions.children[0].text.toLowerCase()为内容值
  445. // option.data.attrs.data_mobile为绑定的属性值,可自行定义
  446. return (
  447. option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 ||
  448. option.data.attrs.data_mobile.indexOf(input.toLowerCase()) >= 0
  449. )
  450. },
  451. //代理人等级
  452. async routepageall() {
  453. try {
  454. let params = {
  455. pageNum: '1',
  456. pageSize: '1000',
  457. }
  458. let arr = JSON.parse(JSON.stringify(params))
  459. arr.pageNum = '1'
  460. arr.pageSize = '1000'
  461. const result = await routepage(arr)
  462. // this.locationsData = result.data.list
  463. this.locationsDatacopy = JSON.parse(JSON.stringify(result.data.list))
  464. } catch (error) {
  465. console.log(error)
  466. }
  467. },
  468. //导出
  469. exportexcel() {
  470. this.$emit('exportex')
  471. },
  472. handleChange(data) {
  473. this.formData.selection = data
  474. },
  475. change() {
  476. this.changeButtonLoading = true
  477. this.$emit('change')
  478. },
  479. querySearch(queryString, callback) {
  480. const inputList = this.inputList
  481. const results = queryString
  482. ? inputList.filter((option) => option.name.toLowerCase().includes(queryString.toLowerCase()))
  483. : inputList
  484. callback(results)
  485. },
  486. inputClearHandler() {
  487. this.$refs['autocomplete'].activated = true
  488. },
  489. search() {
  490. const searchArray = []
  491. this.withDatePicker && searchArray.push([this.formData.beginDate, this.formData.endDate])
  492. this.withSelect && searchArray.push(this.formData.selection == '全部' ? '' : this.formData.selection)
  493. this.withInput && searchArray.push(this.formData.searchText)
  494. this.$emit('search', searchArray)
  495. },
  496. resetSearch() {
  497. this.$refs['form'].resetFields()
  498. this.$nextTick(() => {
  499. this.formData.dateRangeRadio = '当日'
  500. this.search()
  501. })
  502. },
  503. },
  504. }
  505. </script>
  506. <style lang="scss" scoped>
  507. .security-check-header {
  508. display: flex;
  509. justify-content: space-between;
  510. align-items: flex-start;
  511. ::v-deep .ant-form-item-control {
  512. // height: 32px;
  513. // line-height: 30px;
  514. }
  515. ::v-deep .ant-select-selection--single {
  516. overflow: hidden;
  517. }
  518. .form {
  519. z-index: 999;
  520. > .but {
  521. width: 32px;
  522. height: 32px;
  523. background-image: url('../../../../assets/logo/ic_change_default.png');
  524. cursor: pointer;
  525. margin-right: 16px;
  526. }
  527. > .buts {
  528. width: 32px;
  529. height: 32px;
  530. background-image: url('../../../../assets/logo/ic_export_default.png');
  531. cursor: pointer;
  532. }
  533. }
  534. ::v-deep .ant-calendar-picker-icon {
  535. display: none;
  536. }
  537. .ant-btn-primary {
  538. background-color: #2d67e3;
  539. }
  540. .ant-form-item-control {
  541. border: 1px solid #a4bdf3;
  542. color: #2d67e3;
  543. }
  544. ::v-deep .ant-select-selection__rendered {
  545. line-height: 30px;
  546. }
  547. ::v-deep .ant-form-item-children {
  548. height: 30px;
  549. line-height: 30px;
  550. .ant-btn {
  551. width: 32px !important;
  552. padding: 0 10px;
  553. height: 32px;
  554. line-height: 30px;
  555. font-size: 14px;
  556. font-family: Microsoft YaHei;
  557. font-weight: bold;
  558. // color: #ffffff;
  559. }
  560. }
  561. ::v-deep .btn-icon-only {
  562. width: 32px;
  563. border: none;
  564. background-color: #383c54;
  565. background-size: cover;
  566. }
  567. ::v-deep .icon-change {
  568. width: 32px;
  569. height: 32px;
  570. // background-image: url('../../../../assets/logo/ic_change_default.png');
  571. }
  572. ::v-deep .icon-export {
  573. width: 32px;
  574. height: 32px;
  575. background-image: url('../../../../assets/logo/ic_export_default.png');
  576. }
  577. ::v-deep .ant-radio-group {
  578. line-height: 1;
  579. vertical-align: middle;
  580. display: inline-block;
  581. .btn-mo {
  582. background-color: #ffffff;
  583. color: #303133;
  584. }
  585. .btn-mo:hover {
  586. background-color: #ffffff;
  587. color: #303133;
  588. }
  589. .btn-mos {
  590. background-color: #383c54;
  591. color: #ffffff;
  592. }
  593. .btn-mos:hover {
  594. background-color: #ffffff;
  595. color: #303133;
  596. }
  597. .ant-radio-button-wrapper {
  598. height: 32px;
  599. padding: 8px 9px;
  600. // background-color: #383c54;
  601. border: 2px solid #383c54;
  602. // border-right: none;
  603. // color: #ffffff;
  604. -webkit-box-shadow: unset;
  605. box-shadow: unset;
  606. font-size: 14px;
  607. font-family: Microsoft YaHei;
  608. .btn-day {
  609. width: 100%;
  610. height: 100%;
  611. display: flex;
  612. align-items: center;
  613. }
  614. .btn-days {
  615. width: 100%;
  616. height: 100%;
  617. display: flex;
  618. align-items: center;
  619. }
  620. }
  621. .ant-radio-button-checked + .ant-radio-button__inner {
  622. // background-color: #ffffff;
  623. color: #303133;
  624. }
  625. // .ant-radio-button-wrapper {
  626. // .ant-radio-button-inner {
  627. // height: 32px;
  628. // padding: 8px 9px;
  629. // background-color: #383c54;
  630. // border: 2px solid #383c54;
  631. // border-right: none;
  632. // color: #ffffff;
  633. // -webkit-box-shadow: unset;
  634. // box-shadow: unset;
  635. // font-size: 14px;
  636. // font-family: Microsoft YaHei;
  637. // }
  638. // }
  639. }
  640. ::v-deep .ant-form-item-control {
  641. height: 32px;
  642. line-height: 30px;
  643. .ant-form-item-children {
  644. height: 100%;
  645. }
  646. .ant-calendar-picker-input {
  647. height: 32px;
  648. line-height: 30px;
  649. border: none;
  650. }
  651. }
  652. ::v-deep .ant-select {
  653. width: 192px;
  654. height: 32px;
  655. line-height: 30px;
  656. .ant-select-selection--single {
  657. width: 192px;
  658. height: 32px;
  659. line-height: 30px;
  660. }
  661. }
  662. ::v-deep .ant-select-search__field__wrap {
  663. width: 192px;
  664. height: 32px;
  665. line-height: 30px;
  666. .ant-input {
  667. height: 100%;
  668. }
  669. }
  670. .title {
  671. margin-right: 24px;
  672. padding-left: 16px;
  673. min-width: 176px;
  674. height: 32px;
  675. line-height: 32px;
  676. font-size: 20px;
  677. font-family: Helvetica, 'Microsoft YaHei';
  678. font-weight: bold;
  679. position: relative;
  680. &::before {
  681. content: '';
  682. width: 4px;
  683. height: 20px;
  684. background: #2d67e3;
  685. position: absolute;
  686. top: 0;
  687. bottom: 0;
  688. left: 0;
  689. margin: auto;
  690. }
  691. }
  692. ::v-deep .form {
  693. display: flex;
  694. flex-wrap: wrap;
  695. .ant-form {
  696. margin-bottom: 24px;
  697. .ant-form-item__content {
  698. height: 32px;
  699. line-height: 30px;
  700. .ant-input .ant-input__inner {
  701. border-radius: 4px;
  702. }
  703. .ant-input .ant-input__inner {
  704. font-family: Helvetica, 'Microsoft YaHei';
  705. color: #101116;
  706. border-color: #ffffff;
  707. &:hover {
  708. border-color: #c0c4cc;
  709. }
  710. &:focus {
  711. border-color: #409eff;
  712. }
  713. }
  714. .ant-btn {
  715. padding: 0 10px;
  716. height: 32px;
  717. line-height: 30px;
  718. font-size: 14px;
  719. font-family: Microsoft YaHei;
  720. font-weight: bold;
  721. color: #ffffff;
  722. border: none;
  723. .btn-white {
  724. background-color: #ffffff;
  725. border: 1px solid #a4bdf3;
  726. color: #2d67e3;
  727. }
  728. }
  729. .ant-date-editor {
  730. .ant-input__inner {
  731. padding-left: 15px;
  732. }
  733. .ant-input__prefix {
  734. display: none;
  735. }
  736. }
  737. .ant-radio-button {
  738. .ant-radio-button__inner {
  739. height: 32px;
  740. padding: 8px 9px;
  741. background-color: #383c54;
  742. border: 2px solid #383c54;
  743. border-right: none;
  744. color: #ffffff;
  745. box-shadow: unset;
  746. font-size: 14px;
  747. font-family: Microsoft YaHei;
  748. &:hover {
  749. background-color: #ffffff;
  750. color: #303133;
  751. }
  752. }
  753. &:last-child .ant-radio-button__inner {
  754. border-right: 2px solid #383c54;
  755. }
  756. .ant-radio-button__orig-radio:checked + .ant-radio-button__inner {
  757. background-color: #ffffff;
  758. color: #303133;
  759. }
  760. }
  761. .ant-select .ant-input {
  762. .ant-input__icon::before {
  763. content: '\e78f';
  764. }
  765. .ant-input__icon,
  766. .ant-input__inner::-webkit-input-placeholder {
  767. color: #303133;
  768. }
  769. }
  770. }
  771. &.radio-wrapper .ant-form-item__content {
  772. line-height: 28px;
  773. }
  774. }
  775. }
  776. }
  777. </style>