release.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764
  1. <template>
  2. <view class="content">
  3. <view class="fixed1"></view>
  4. <view class='title flex'>
  5. <u-icon class="back" name="arrow-left" color="" size="20" @click="back"></u-icon>
  6. <view class="nav-title">发布</view>
  7. <view class="search" @click="goToRecord">
  8. <u-icon class="" name="order" color="" size="28"></u-icon>
  9. <view>
  10. 记录
  11. </view>
  12. </view>
  13. </view>
  14. <view class="content1">
  15. <view class="row" @click="selectCargoOwner" v-if="!dataObj.cargoOwner">
  16. <view class="left select-sf">选择货主身份</view>
  17. <view class="right">></view>
  18. </view>
  19. <view class="row" @click="selectCargoOwner" v-if="dataObj.cargoOwner">
  20. <view class="left">{{dataObj.cargoOwner}}</view>
  21. <view class="right">></view>
  22. </view>
  23. <u-picker :show="show" :columns="columns" :closeOnClickOverlay='true' @close='selectCargoOwnerClose'
  24. @cancel='selectCargoOwnerClose' @confirm='confirmSelectCargoOwner'></u-picker>
  25. </view>
  26. <view class="content2">
  27. <view class="row1">
  28. <view class="left">
  29. <view class="top" @click="selectAddress(0)">
  30. <view class="send">寄</view>
  31. <view class="title">
  32. {{dataObj.sendArea?(dataObj.sendPrivate + dataObj.sendCity+dataObj.sendArea):'选择发货地区'}}
  33. </view>
  34. </view>
  35. <view class="bottom">
  36. <input type="text" value="" placeholder="输入详细地址" v-model="dataObj.sendDetailedAddress" />
  37. </view>
  38. </view>
  39. <view class="right" @click="selectAddress(0)" v-if="!dataObj.sendArea">
  40. <view class="right">{{dataObj.sendArea?'':'>'}}</view>
  41. </view>
  42. </view>
  43. <view class="row2">
  44. <view class="left">
  45. <view class="top" @click="selectAddress(1)">
  46. <view class="collect">收</view>
  47. <view class="title">
  48. {{dataObj.unloadArea?(dataObj.unloadPrivate + dataObj.unloadCity+dataObj.unloadArea):'选择收货地区'}}
  49. </view>
  50. </view>
  51. <view class="bottom">
  52. <input type="text" value="" placeholder="输入详细地址" v-model="dataObj.unloadDetailedAddress" />
  53. </view>
  54. </view>
  55. <view class="right" @click="selectAddress(1)" v-if="!dataObj.unloadArea">
  56. <view class="right">{{dataObj.unloadArea?(dataObj.unloadCity+dataObj.unloadArea):'>'}}</view>
  57. </view>
  58. </view>
  59. </view>
  60. <view class="content3">
  61. <view class="row">
  62. <view class="left">距离</view>
  63. <input type="text" value="" class="input" placeholder="自动计算" v-model="dataObj.distance" disabled="" />
  64. <view>公里</view>
  65. </view>
  66. <view class="row">
  67. <view class="left">货名</view>
  68. <view class="right"><input type="text" class="input" value="" placeholder="输入货物名称"
  69. v-model="dataObj.goodsName" /></view>
  70. </view>
  71. <view class="flex row">
  72. <view class="left-text">运费计算方式</view>
  73. <!-- <u-radio-group v-model="dataDetails.driverSex" placement="row"> -->
  74. <u-radio-group placement="row" v-model="dataObj.billingMethod" class="select-type">
  75. <u-radio :customStyle="radioCustomStyle" v-for="(item, index) in radiolist1" :key="index"
  76. :label="item.name" :name="item.name" @change="radioChange">
  77. </u-radio>
  78. </u-radio-group>
  79. </view>
  80. <view class="row">
  81. <view class="left">运费单价</view>
  82. <view class="right"><input type="number" value="" placeholder="输入运费单价" class="input"
  83. v-model="dataObj.freightPrice" /></view>
  84. </view>
  85. <view class="row">
  86. <view class="left">该任务申请运费垫付</view>
  87. <view class="right">
  88. <u-switch v-model="dataObj.freightAdvance" @change="change" size="20"></u-switch>
  89. </view>
  90. </view>
  91. </view>
  92. <view class="content4 flex">
  93. <view class="title">以下为附加信息</view>
  94. <view class="btn-text">选填</view>
  95. </view>
  96. <view class="content5">
  97. <view class="row">
  98. <view class="left">发货联系人</view>
  99. <view class="right flex">
  100. <input type="text" value="" placeholder="输入发货联系人姓名" class="input" v-model="dataObj.sender" />
  101. </view>
  102. </view>
  103. <view class="row">
  104. <view class="left">发货联系人电话</view>
  105. <view class="right flex">
  106. <input type="text" value="" placeholder="输入发货联系人手机号" class="input" v-model="dataObj.senderPhone" />
  107. </view>
  108. </view>
  109. <view class="row">
  110. <view class="left">收货联系人</view>
  111. <view class="right flex">
  112. <input type="text" value="" placeholder="输入收货联系人姓名" class="input" v-model="dataObj.receiver" />
  113. </view>
  114. </view>
  115. <view class="row">
  116. <view class="left">收货联系人电话</view>
  117. <view class="right flex">
  118. <input type="text" value="" placeholder="输入收货联系人手机号" class="input"
  119. v-model="dataObj.receiverPhone" />
  120. </view>
  121. </view>
  122. <view class="row">
  123. <view class="left">重量(吨)</view>
  124. <view class="right flex">
  125. <input type="text" value="" placeholder="输入预计发运重量" class="number" v-model="dataObj.weight" />
  126. </view>
  127. </view>
  128. <view class="flex row">
  129. <view class="left-text">预计装车日期起</view>
  130. <view :class="!dataObj.loadingDateStart?'select-data':''" @click="selectValidityPeriod(0)">
  131. {{dataObj.loadingDateStart?dataObj.loadingDateStart:'选择有效截止日期>'}}
  132. </view>
  133. </view>
  134. <view class="flex row">
  135. <view class="left-text">预计装车日期止</view>
  136. <view :class="!dataObj.loadingDateEnd?'select-data':''" @click="selectValidityPeriod(1)">
  137. {{dataObj.loadingDateEnd?dataObj.loadingDateEnd:'选择有效截止日期>'}}
  138. </view>
  139. </view>
  140. <view class="row">
  141. <view class="left">车长要求(米)</view>
  142. </view>
  143. <view class="row flex-space-between row-bgc">
  144. <view class="car-row">
  145. <input type="number" value="" placeholder="最短不限" class="" v-model="dataObj.carLengthSmall"
  146. class="car-input" />
  147. <view>m</view>
  148. </view>
  149. <view class="car-line">-</view>
  150. <view class="car-row">
  151. <input type="number" value="" placeholder="最长不限" class="" v-model="dataObj.carLength"
  152. class="car-input" />
  153. <view>m</view>
  154. </view>
  155. </view>
  156. <view class="row">
  157. <view class="left">载重要求(吨)</view>
  158. </view>
  159. <view class="row flex-space-between row-bgc">
  160. <view class="car-row">
  161. <input type="number" value="" placeholder="最小不限" class="car-input"
  162. v-model="dataObj.loadWeightSmall" />
  163. <view>吨</view>
  164. </view>
  165. <view class="car-line">-</view>
  166. <view class="car-row">
  167. <input type="number" value="" placeholder="最大不限" class="car-input" v-model="dataObj.loadWeight" />
  168. <view>吨</view>
  169. </view>
  170. </view>
  171. <view class="row">
  172. <view class="left">车型要求</view>
  173. </view>
  174. <view class="row">
  175. <u-checkbox-group v-model="checkboxValue1" placement="row" @change="checkboxChange">
  176. <u-checkbox :customStyle="radioCustomStyle" v-for="(item, index) in checkboxList1" :key="index"
  177. :label="item.name" :name="item.name">
  178. </u-checkbox>
  179. </u-checkbox-group>
  180. </view>
  181. <view class="row">
  182. <view class="left">任务描述</view>
  183. </view>
  184. <view class="row">
  185. <u--textarea v-model="dataObj.taskDescription" placeholder="请输入内容"></u--textarea>
  186. </view>
  187. <view class="flex row noborder">
  188. <view class="left-text">任务有效期</view>
  189. <view :class="dataObj.taskValidity?'':'select-data'" @click="selectValidityPeriodcq">
  190. {{dataObj.taskValidity?dataObj.taskValidity:'选择任务有效期>'}}
  191. </view>
  192. </view>
  193. <u-picker :show="isShowcardValidity" ref="uPicker" :columns="validityPeriodcq"
  194. @confirm="confirmValidityPeriodcq" @change="changeHandler" @close='isShowcardValidity=false'
  195. @cancel='isShowcardValidity=false' :closeOnClickOverlay='true'>
  196. </u-picker>
  197. </view>
  198. <view class="submit" @click="submit">立即发布</view>
  199. <u-picker :show="isShowValidity" ref="uPicker" :columns="validityPeriod" @confirm="confirmValidityPeriod"
  200. :closeOnClickOverlay='true' @close='isShowValidity=false' @cancel='isShowValidity=false'>
  201. </u-picker>
  202. <u-modal :show="isShowAlert" :title="alertTitle" :content='alertContent' :closeOnClickOverlay='true' :showCancelButton='true' confirmColor='#2772FB' @confirm="confirmClick" @close="cancelClick" @cancel="cancelClick"></u-modal>
  203. <u-toast ref="uToast"></u-toast>
  204. </view>
  205. </template>
  206. <script>
  207. var _this;
  208. import {
  209. mapState
  210. } from 'vuex';
  211. export default {
  212. data() {
  213. return {
  214. isShowAlert:false,
  215. alertTitle:'确定发布运输任务?',
  216. alertContent:null,
  217. radioCustomStyle: {
  218. margin: '0 0 0 20rpx'
  219. },
  220. show: false,
  221. columns: [
  222. ['个人货主', '黑龙江中天昊元贸易有限公司', '黑龙江利润元贸易有限公司']
  223. ],
  224. dataObj: {
  225. commonId: '',
  226. cargoOwner: '',
  227. sendPrivate: '',
  228. sendCity: '',
  229. sendArea: '',
  230. sendDetailedAddress: '',
  231. unloadPrivate: '',
  232. unloadCity: '',
  233. unloadArea: '',
  234. unloadDetailedAddress: '',
  235. distance: '',
  236. goodsName: '',
  237. billingMethod: '元/吨',
  238. freightPrice: '',
  239. freightAdvance: true,
  240. sender: '',
  241. senderPhone: '',
  242. receiver: '',
  243. receiverPhone: '',
  244. weight: '',
  245. loadingDateStart: '',
  246. loadingDateEnd: '',
  247. carLengthSmall: '',
  248. carLength: '',
  249. loadWeightSmall: '',
  250. loadWeight: '',
  251. carModel: '',
  252. taskDescription: '',
  253. taskValidity: '',
  254. sendLongitude: '',
  255. sendLatitude: '',
  256. unsendLongitude: '',
  257. unsendLatitude: '',
  258. },
  259. checkboxValue1: ['不限'],
  260. checkboxList1: [{
  261. name: '不限',
  262. disabled: false
  263. },
  264. {
  265. name: '高栏',
  266. disabled: false
  267. },
  268. {
  269. name: '集装箱',
  270. disabled: false
  271. },
  272. {
  273. name: '自卸车',
  274. disabled: false
  275. }
  276. ],
  277. value: true,
  278. isShowcardValidity: false,
  279. ValidityPeriodType: '',
  280. validityPeriod: [],
  281. validityPeriodcq: [],
  282. isShowValidity: false,
  283. dataDetails: {
  284. type: '元/车'
  285. },
  286. radiolist1: [{
  287. name: '元/吨',
  288. disabled: false
  289. },
  290. {
  291. name: '元/车',
  292. disabled: false
  293. },
  294. ],
  295. }
  296. },
  297. onShow() {
  298. },
  299. onLoad(options) {
  300. _this = this;
  301. this.validityPeriod = this.$helper.makeValidityPeriod()
  302. this.validityPeriodcq = this.$helper.makeValidityPeriod(0,'长期')
  303. let _faddress = uni.getStorageSync('storage_faddress');
  304. let _saddress = uni.getStorageSync('storage_saddress');
  305. if (_faddress) {
  306. this.dataObj.sendCity = _faddress.city
  307. this.dataObj.sendArea = _faddress.area
  308. this.dataObj.sendPrivate = _faddress.province
  309. this.dataObj.sendDetailedAddress = _faddress.detailedAddress
  310. this.dataObj.sendLongitude = _faddress.longitude
  311. this.dataObj.sendLatitude = _faddress.latitude
  312. } else {
  313. this.getDefaultPlace(0)
  314. }
  315. if (_saddress) {
  316. this.dataObj.unloadDetailedAddress = _saddress.detailedAddress
  317. this.dataObj.unloadCity = _saddress.city
  318. this.dataObj.unloadArea = _saddress.area
  319. this.dataObj.unloadPrivate = _saddress.province
  320. this.dataObj.unsendLongitude = _saddress.longitude
  321. this.dataObj.unsendLatitude = _saddress.latitude
  322. } else {
  323. this.getDefaultPlace(1)
  324. }
  325. if(this.dataObj.sendLatitude&&this.dataObj.sendLongitude&&this.dataObj.unsendLatitude&&this.dataObj.unsendLongitude){
  326. this.dataObj.distance=this.$helper.getDistance(this.dataObj.unsendLatitude,this.dataObj.unsendLongitude,this.dataObj.sendLatitude,this.dataObj.sendLongitude)
  327. }
  328. },
  329. computed: {
  330. ...mapState(['hasLogin', 'userInfo']),
  331. },
  332. methods: {
  333. confirmClick(){
  334. // 校验没写
  335. if (this.dataObj.billingMethod == '元/吨') {
  336. this.dataObj.billingMethod = 0
  337. } else {
  338. this.dataObj.billingMethod = 1
  339. }
  340. if (this.dataObj.freightAdvance) {
  341. this.dataObj.freightAdvance = 1
  342. } else {
  343. this.dataObj.freightAdvance = 0
  344. }
  345. let _list = []
  346. for (let i = 0; i < this.checkboxValue1.length; i++) {
  347. if (this.checkboxValue1[i] == '不限') {
  348. _list.push(1)
  349. } else if (this.checkboxValue1[i] == '高栏') {
  350. _list.push(2)
  351. } else if (this.checkboxValue1[i] == '集装箱') {
  352. _list.push(3)
  353. } else if (this.checkboxValue1[i] == '自卸车') {
  354. _list.push(4)
  355. }
  356. }
  357. this.dataObj.carModel = _list.toString()
  358. this.dataObj.commonId = this.userInfo.id
  359. this.$request.baseRequest('post', '/publishTaskInfo/api/addTask', this.dataObj).then(res => {
  360. this.$refs.uToast.show({
  361. type: 'success',
  362. message: "发布成功",
  363. complete() {
  364. _this.isShowAlert = false
  365. _this.dataObj={
  366. commonId: '',
  367. cargoOwner: '',
  368. sendPrivate: '',
  369. sendCity: '',
  370. sendArea: '',
  371. sendDetailedAddress: '',
  372. unloadPrivate: '',
  373. unloadCity: '',
  374. unloadArea: '',
  375. unloadDetailedAddress: '',
  376. distance: '',
  377. goodsName: '',
  378. billingMethod: '元/吨',
  379. freightPrice: '',
  380. freightAdvance: true,
  381. sender: '',
  382. senderPhone: '',
  383. receiver: '',
  384. receiverPhone: '',
  385. weight: '',
  386. loadingDateStart: '',
  387. loadingDateEnd: '',
  388. carLengthSmall: '',
  389. carLength: '',
  390. loadWeightSmall: '',
  391. loadWeight: '',
  392. carModel: '',
  393. taskDescription: '',
  394. taskValidity: '',
  395. sendLongitude: '',
  396. sendLatitude: '',
  397. unsendLongitude: '',
  398. unsendLatitude: '',
  399. }
  400. _this.checkboxValue1=['不限']
  401. }
  402. })
  403. })
  404. .catch(res => {
  405. uni.showToast({
  406. title: res.message,
  407. icon: 'none',
  408. duration: 2000
  409. })
  410. });
  411. },
  412. cancelClick(){
  413. this.isShowAlert = false
  414. },
  415. //获取默认发货地、收货地
  416. getDefaultPlace(type) {
  417. // 0时获取默认发货地址,1时获取默认收货地址 通过选择获取的地址无需获取默认地址
  418. uni.showLoading({
  419. mask: true,
  420. title: '加载中...'
  421. })
  422. this.$request.baseRequest('get', '/cargoOwnerAddressInfo/addressList', {
  423. commonId: this.userInfo.id
  424. }).then(res => {
  425. for (let i = 0; i < res.data.length; i++) {
  426. if (res.data[i].defaultShipment == 1 && type == 0) {
  427. this.dataObj.sendCity = res.data[i].city
  428. this.dataObj.sendArea = res.data[i].area
  429. this.dataObj.sendPrivate = res.data[i].province
  430. this.dataObj.sendDetailedAddress = res.data[i].detailedAddress
  431. this.dataObj.sendLongitude = res.data[i].longitude
  432. this.dataObj.sendLatitude = res.data[i].latitude
  433. }
  434. if (res.data[i].defaultReceipt == 1 && type == 1) {
  435. this.dataObj.unloadDetailedAddress = res.data[i].detailedAddress
  436. this.dataObj.unloadCity = res.data[i].city
  437. this.dataObj.unloadArea = res.data[i].area
  438. this.dataObj.unloadPrivate = res.data[i].province
  439. this.dataObj.unsendLongitude = res.data[i].longitude
  440. this.dataObj.unsendLatitude = res.data[i].latitude
  441. }
  442. }
  443. if(this.dataObj.sendLatitude&&this.dataObj.sendLongitude&&this.dataObj.unsendLatitude&&this.dataObj.unsendLongitude){
  444. this.dataObj.distance=this.$helper.getDistance(this.dataObj.unsendLatitude,this.dataObj.unsendLongitude,this.dataObj.sendLatitude,this.dataObj.sendLongitude)
  445. }
  446. uni.hideLoading()
  447. })
  448. .catch(res => {
  449. uni.showToast({
  450. title: res.message,
  451. icon: 'none',
  452. duration: 2000
  453. })
  454. });
  455. },
  456. changeHandler(e) {
  457. const {
  458. columnIndex,
  459. value,
  460. values,
  461. index,
  462. picker = this.$refs.uPicker
  463. } = e
  464. // if (columnIndex === 0) {
  465. //
  466. // if (e.index != 0) {
  467. // picker.setColumnValues(1, this.validityPeriod[1].shift())
  468. // }
  469. // } else if (columnIndex === 1) {
  470. // if (e.index != 0) {
  471. // picker.setColumnValues(2, this.validityPeriod[2].shift())
  472. // }
  473. // }
  474. },
  475. selectCargoOwnerClose() {
  476. this.show = false
  477. },
  478. confirmSelectCargoOwner(e) {
  479. this.dataObj.cargoOwner = e.value[0]
  480. this.show = false
  481. },
  482. selectCargoOwner() {
  483. this.show = true
  484. },
  485. selectAddress(type) {
  486. // uni.removeStorage({
  487. // key: 'storage_faddress'
  488. // });
  489. uni.removeStorage({
  490. key: 'storage_saddress'
  491. });
  492. uni.$u.route('/pages/release/selectAddress', {
  493. type: type,
  494. });
  495. },
  496. checkboxChange(n) {
  497. console.log('change', n);
  498. },
  499. selectValidityPeriodcq() {
  500. this.isShowcardValidity = true
  501. },
  502. confirmValidityPeriod(e) {
  503. console.log('confirm', e)
  504. switch (this.ValidityPeriodType) {
  505. case 0:
  506. this.dataObj.loadingDateStart = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
  507. break
  508. case 1:
  509. this.dataObj.loadingDateEnd = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
  510. break
  511. }
  512. this.isShowValidity = false
  513. },
  514. confirmValidityPeriodcq(e) {
  515. console.log('confirm', e)
  516. this.dataObj.taskValidity = e.value[0] + '-' + e.value[1] + '-' + e.value[2]
  517. this.isShowcardValidity = false
  518. },
  519. selectValidityPeriod(type) {
  520. this.ValidityPeriodType = type
  521. this.isShowValidity = true
  522. },
  523. change(e) {
  524. console.log('change', e);
  525. },
  526. back() {
  527. uni.navigateBack()
  528. },
  529. goToRecord() {
  530. uni.$u.route('/pages/release/record');
  531. },
  532. radioChange(n) {
  533. console.log('radioChange', n);
  534. this.dataDetails.type = n
  535. },
  536. submit() {
  537. this.isShowAlert = true;
  538. },
  539. }
  540. }
  541. </script>
  542. <style scoped lang="scss">
  543. .input {
  544. text-align: right;
  545. }
  546. .title {
  547. padding: 0 20rpx;
  548. display: flex;
  549. justify-content: center;
  550. position: relative;
  551. .nav-title {
  552. font-size: 32rpx;
  553. }
  554. .back {
  555. position: absolute;
  556. left: 20rpx;
  557. }
  558. .search {
  559. display: flex;
  560. align-items: center;
  561. position: absolute;
  562. right: 20rpx;
  563. }
  564. }
  565. .fixed1 {
  566. height: var(--status-bar-height);
  567. }
  568. .row {
  569. display: flex;
  570. justify-content: space-between;
  571. }
  572. .content1 {
  573. background: white;
  574. margin: var(--status-bar-height) 20rpx 0 20rpx;
  575. border-radius: 20rpx;
  576. padding: 40rpx;
  577. .select-sf {
  578. color: #999999;
  579. }
  580. .right {
  581. color: #CBCBCB
  582. }
  583. }
  584. .content2,
  585. .content3,
  586. .content5 {
  587. box-sizing: border-box;
  588. background: white;
  589. border-radius: 20rpx;
  590. padding: 20rpx;
  591. margin: 20rpx;
  592. .row {
  593. margin: 30rpx;
  594. }
  595. .row1,
  596. .row2 {
  597. display: flex;
  598. justify-content: space-between;
  599. align-items: center;
  600. .left .top {
  601. display: flex;
  602. }
  603. }
  604. }
  605. .select-type {
  606. display: flex;
  607. justify-content: flex-end;
  608. }
  609. .content2 {
  610. padding: 40rpx;
  611. .row1,
  612. .row2 {
  613. .left {
  614. width: 100%;
  615. }
  616. .right {
  617. color: #CBCBCB
  618. }
  619. }
  620. .row2 {
  621. margin-top: 40rpx;
  622. }
  623. .top {
  624. display: flex;
  625. align-items: center;
  626. }
  627. .bottom {
  628. margin-top: 10rpx;
  629. padding-left: 72rpx;
  630. }
  631. .title {
  632. font-size: 36rpx;
  633. font-weight: 700;
  634. color: #171717;
  635. }
  636. .collect {
  637. width: 40rpx;
  638. height: 40rpx;
  639. line-height: 40rpx;
  640. background: #2772FB;
  641. color: white;
  642. padding: 6rpx;
  643. border-radius: 50%;
  644. text-align: center;
  645. }
  646. .send {
  647. width: 40rpx;
  648. height: 40rpx;
  649. line-height: 40rpx;
  650. background: #101010;
  651. color: white;
  652. padding: 6rpx;
  653. border-radius: 50%;
  654. text-align: center;
  655. }
  656. }
  657. .content3 {}
  658. .content4 {
  659. margin: 20rpx;
  660. padding-left: 20rpx;
  661. .title {
  662. color: #999999;
  663. }
  664. .btn-text {
  665. color: #2772FB;
  666. border: 1px solid #2772FB;
  667. border-radius: 40rpx;
  668. padding: 0rpx 10rpx;
  669. box-sizing: border-box;
  670. }
  671. }
  672. .submit {
  673. width: 90%;
  674. margin: 100rpx auto;
  675. font-size: 36rpx;
  676. font-weight: 500;
  677. color: #FFFFFF;
  678. background: #2772FB;
  679. text-align: center;
  680. padding: 20rpx 0;
  681. border-radius: 50rpx;
  682. }
  683. .select-data {
  684. color: #999999;
  685. }
  686. .row-bgc {
  687. background: #F7F8FA;
  688. padding: 20rpx 30rpx;
  689. box-sizing: border-box;
  690. border-radius: 10rpx;
  691. }
  692. .car-input {
  693. // padding:20rpx;
  694. // box-sizing: border-box;
  695. // border-radius: 10px;
  696. }
  697. .car-line {
  698. margin: 0 20rpx;
  699. }
  700. .car-row {
  701. display: flex;
  702. background: white;
  703. padding: 20rpx;
  704. box-sizing: border-box;
  705. border-radius: 10rpx;
  706. }
  707. </style>