release.vue 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384
  1. <template>
  2. <view class="content">
  3. <!-- <u-navbar title="发布" :placeholder="true" rightText="记录" @rightClick="goToRecord" @leftClick="back()"> -->
  4. <!-- view class="u-nav-slot" slot="left">
  5. <u-icon name="arrow-left" size="19"></u-icon>
  6. <u-line direction="column" :hairline="false" length="16" margin="0 8px"></u-line>
  7. <u-icon name="home" size="20"></u-icon>
  8. </view> -->
  9. <!-- </u-navbar> -->
  10. <!-- <view class="fixed1"></view>
  11. <view class='title top-title flex'>
  12. <u-icon class="back" name="arrow-left" color="" size="20" @click="back"></u-icon>
  13. <view class="nav-title">发布</view>
  14. <view class="search" @click="goToRecord">
  15. <u-icon class="" name="order" color="" size="28"></u-icon>
  16. <view>
  17. 记录
  18. </view>
  19. </view>
  20. </view> -->
  21. <view class="content1">
  22. <view class="row" @click="selectCargoOwner">
  23. <view class="left select-sf" :class='dataObj.cargoOwner?"":"select-sf1"'>
  24. {{dataObj.cargoOwner?dataObj.cargoOwner:'选择货主身份'}}
  25. </view>
  26. <view class="right">
  27. <image src="../../static/right.png" style="width: 22rpx;height: 22rpx;margin-top:14rpx;"></image>
  28. </view>
  29. </view>
  30. <!-- <view class="row" @click="selectCargoOwner" v-if="dataObj.cargoOwner">
  31. <view class="left">{{dataObj.cargoOwner}}</view>
  32. <view class="right">></view>
  33. </view> -->
  34. <u-picker :show="show" :columns="columns" :closeOnClickOverlay='true' @close='selectCargoOwnerClose'
  35. @cancel='selectCargoOwnerClose' @confirm='confirmSelectCargoOwner'></u-picker>
  36. </view>
  37. <view class="content2">
  38. <view class="row1">
  39. <view class="left">
  40. <view class="top" @click="selectAddress(0)">
  41. <view class="send">发</view>
  42. <view class="title">
  43. {{dataObj.sendArea?(dataObj.sendPrivate + dataObj.sendCity+dataObj.sendArea):'选择发货地区'}}
  44. </view>
  45. </view>
  46. <view class="bottom">
  47. <input type="text" value="" placeholder="输入详细地址" v-model="dataObj.sendDetailedAddress" />
  48. </view>
  49. </view>
  50. <view class="right" @click="selectAddress(0)" v-if="!dataObj.sendArea">
  51. <view v-if='dataObj.sendArea' class="right"></view>
  52. <view class="right" v-else>
  53. <image src="../../static/right.png" style="width: 22rpx;height: 22rpx;margin-top:14rpx;">
  54. </image>
  55. </view>
  56. </view>
  57. </view>
  58. <view class="row2">
  59. <view class="left">
  60. <view class="top" @click="selectAddress(1)">
  61. <view class="collect">收</view>
  62. <view class="title">
  63. {{dataObj.unloadArea?(dataObj.unloadPrivate + dataObj.unloadCity+dataObj.unloadArea):'选择收货地区'}}
  64. </view>
  65. </view>
  66. <view class="bottom">
  67. <input type="text" value="" placeholder="输入详细地址" v-model="dataObj.unloadDetailedAddress" />
  68. </view>
  69. </view>
  70. <view class="right" @click="selectAddress(1)" v-if="!dataObj.unloadArea">
  71. <view v-if='dataObj.unloadArea' class="right">{{(dataObj.unloadCity+dataObj.unloadArea)}}</view>
  72. <view class="right" v-else>
  73. <image src="../../static/right.png" style="width: 22rpx;height: 22rpx;margin-top:14rpx;">
  74. </image>
  75. </view>
  76. </view>
  77. </view>
  78. </view>
  79. <view class="content3">
  80. <view class="row">
  81. <view class="left">距离</view>
  82. <!-- <input type="text" value="" class="input" placeholder="自动计算" v-model="dataObj.distance" disabled /> -->
  83. {{dataObj.distance }}
  84. km
  85. </view>
  86. <view class="row">
  87. <view class="left">业务类型</view>
  88. <view class="right" @click="businessChange">{{dataObj.businessType?dataObj.businessType:"请选择业务类型"}}
  89. </view>
  90. </view>
  91. <view class="row">
  92. <view class="left">货物类别</view>
  93. <view class="right" @click="goodstypeChange">{{dataObj.goodsType?dataObj.goodsType:"请选择货物类别"}}</view>
  94. </view>
  95. <view class="row">
  96. <view class="left">货名</view>
  97. <view class="right"><input type="text" class="input" value="" placeholder="输入货物名称"
  98. v-model="dataObj.goodsName" /></view>
  99. </view>
  100. <view class="row">
  101. <view class="left">收货方</view>
  102. <view class="right flex">
  103. <input type="text" value="" placeholder="输入收货人姓名或企业名" class="input" v-model="dataObj.receiver" />
  104. </view>
  105. </view>
  106. <view class="row">
  107. <view class="left">收货方手机号</view>
  108. <view class="right flex">
  109. <input type="number" maxlength="11" placeholder="输入收货方手机号" class="input"
  110. v-model="dataObj.receiverPhone" />
  111. </view>
  112. </view>
  113. <view class="row">
  114. <view style='width:120px;' class="left">收货方身份证号(选填)</view>
  115. <view class="right flex">
  116. <input type="number" maxlength="18" placeholder="输入收货人身份证号" class="input"
  117. v-model="dataObj.receiverIdcard" />
  118. </view>
  119. </view>
  120. <view class="row">
  121. <view style='width:120px;' class="left">收货方信用代码(选填)</view>
  122. <view class="right flex">
  123. <input maxlength="18" placeholder="统一社会信用代码" class="input" v-model="dataObj.receiverCreditCode" />
  124. </view>
  125. </view>
  126. <view class="flex row">
  127. <view class="left-text">运费计算方式</view>
  128. <u-radio-group placement="row" v-model="dataObj.billingMethod" class="select-type">
  129. <u-radio :customStyle="radioCustomStyle" v-for="(item, index) in radiolist1" :key="index"
  130. :label="item.name" :name="item.name" @change="radioChange">
  131. </u-radio>
  132. </u-radio-group>
  133. </view>
  134. <view class="row">
  135. <view class="left">运费单价</view>
  136. <view class="right"><input type="number" value="" placeholder="输入运费单价" class="input"
  137. v-model="dataObj.freightPrice" /></view>
  138. </view>
  139. <view v-if='freightAdvance' class="row">
  140. <view class="left">该任务申请运费垫付</view>
  141. <view class="right">
  142. <u-switch v-model="dataObj.freightAdvance" @change="change" size="20"></u-switch>
  143. </view>
  144. </view>
  145. </view>
  146. <view class="content4 flex">
  147. <view class="title">以下为附加信息</view>
  148. <view class="btn-text">选填</view>
  149. </view>
  150. <view class="content5">
  151. <view class="row">
  152. <view class="left">发货联系人</view>
  153. <view class="right flex">
  154. <input type="text" value="" placeholder="输入发货联系人姓名" class="input" v-model="dataObj.sender" />
  155. </view>
  156. </view>
  157. <view class="row">
  158. <view class="left">发货人手机号</view>
  159. <view class="right flex">
  160. <input type="number" maxlength="11" value="" placeholder="输入发货联系人手机号" class="input"
  161. v-model="dataObj.senderPhone" />
  162. </view>
  163. </view>
  164. <view class="row">
  165. <view class="left">重量(吨)</view>
  166. <view class="right flex">
  167. <input type="number" value="" placeholder="输入预计发运重量" class="number" v-model="dataObj.weight"
  168. style="text-align: right;" />
  169. </view>
  170. </view>
  171. <view class="flex row" @click="selectValidityPeriod(0)">
  172. <view class="left-text">预计装车日期起</view>
  173. <view :class="!dataObj.loadingDateStart?'select-data':''">
  174. {{dataObj.loadingDateStart?dataObj.loadingDateStart:'选择有效截止日期>'}}
  175. </view>
  176. </view>
  177. <view class="flex row" @click="selectValidityPeriod(1)">
  178. <view class="left-text">预计装车日期止</view>
  179. <view :class="!dataObj.loadingDateEnd?'select-data':''">
  180. {{dataObj.loadingDateEnd?dataObj.loadingDateEnd:'选择有效截止日期>'}}
  181. </view>
  182. </view>
  183. <view class="row">
  184. <view class="left">车长要求(米)</view>
  185. </view>
  186. <view class="row flex-space-between row-bgc">
  187. <view class="car-row">
  188. <input type="number" value="" placeholder="最短不限" class="" v-model="dataObj.carLengthSmall"
  189. class="car-input" />
  190. <view>m</view>
  191. </view>
  192. <view class="car-line">-</view>
  193. <view class="car-row">
  194. <input type="number" value="" placeholder="最长不限" class="" v-model="dataObj.carLength"
  195. class="car-input" />
  196. <view>m</view>
  197. </view>
  198. </view>
  199. <view class="row">
  200. <view class="left">载重要求(吨)</view>
  201. </view>
  202. <view class="row flex-space-between row-bgc">
  203. <view class="car-row">
  204. <input type="number" value="" placeholder="最小不限" class="car-input"
  205. v-model="dataObj.loadWeightSmall" />
  206. <view>吨</view>
  207. </view>
  208. <view class="car-line">-</view>
  209. <view class="car-row">
  210. <input type="number" value="" placeholder="最大不限" class="car-input" v-model="dataObj.loadWeight" />
  211. <view>吨</view>
  212. </view>
  213. </view>
  214. <view class="row">
  215. <view class="left">车型要求</view>
  216. </view>
  217. <view class="row">
  218. <u-checkbox-group v-model="checkboxValue1" placement="row" @change="checkboxChange">
  219. <u-checkbox :customStyle="radioCustomStyle" v-for="(item, index) in checkboxList1" :key="index"
  220. :label="item.name" :name="item.name">
  221. </u-checkbox>
  222. </u-checkbox-group>
  223. </view>
  224. <view class="row">
  225. <view class="left">任务描述</view>
  226. </view>
  227. <view class="row">
  228. <u--textarea v-model="dataObj.taskDescription" placeholder="请输入内容" :count='true' maxlength='200'>
  229. </u--textarea>
  230. </view>
  231. <view class="flex row noborder" @click="selectValidityPeriodcq">
  232. <view class="left-text">任务有效期</view>
  233. <view :class="dataObj.taskValidity?'':'select-data'">
  234. {{dataObj.taskValidity?dataObj.taskValidity:'选择任务有效期>'}}
  235. </view>
  236. </view>
  237. <itmister-date-picker :overdueContent="'任务已过期'" :dateStatus="1" :periodOfValidity="true" :startYear='2022'
  238. ref="dateEl" :endDate="array" :futureYear="30" @dateConfirm="confirmValidityPeriodcq">
  239. </itmister-date-picker>
  240. <!-- <view class="flex row noborder" >
  241. <view class="left-text flex">查看
  242. <u--text type="primary" text="《货物运输委托协议》" @click="lookContract"></u--text>
  243. </view>
  244. </view> -->
  245. </view>
  246. <view class="submit" @click="submit">下一步</view>
  247. <!-- <u-picker :show="isShowValidity" ref="uPicker" :columns="validityPeriod" @confirm="confirmValidityPeriod"
  248. :closeOnClickOverlay='true' @close='isShowValidity=false' @cancel='isShowValidity=false'>
  249. </u-picker> -->
  250. <itmister-date-picker :dateStatus="2" :startYear='2022' ref="datezc" :futureYear="30"
  251. @dateConfirm="confirmValidityPeriod"></itmister-date-picker>
  252. <!-- //货物类别 -->
  253. <u-picker :show="isGoodsType" ref="uPicker" :columns="goodsList" keyName="constValue" @confirm="goodsSubmit"
  254. :closeOnClickOverlay='true' @close='isGoodsType=false' @cancel='isGoodsType=false'>
  255. </u-picker>
  256. <!-- 业务类型 -->
  257. <u-picker :show="isBusinessType" ref="uPicker" :columns="businessList" keyName="constValue"
  258. @confirm="businessSubmit" :closeOnClickOverlay='true' @close='isBusinessType=false'
  259. @cancel='isBusinessType=false'>
  260. </u-picker>
  261. <u-modal :show="isShowAlert" :title="alertTitle" :content='alertContent' :closeOnClickOverlay='false'
  262. :showCancelButton='showCancelButton' confirmColor='#2772FB' @confirm="$u.throttle(confirmClick(), 1000)"
  263. @close="cancelClick" @cancel="cancelClick"></u-modal>
  264. <u-modal :show="isShowAlert1" :title="alertTitle" :confirmText='confirmText' :content='alertContent'
  265. :closeOnClickOverlay='false' :showCancelButton='showCancelButton' confirmColor='#2772FB'
  266. @confirm="$u.throttle(confirmClick(), 1000)" @close="cancelClick" @cancel="cancelClick"></u-modal>
  267. <u-toast ref="uToast"></u-toast>
  268. </view>
  269. </template>
  270. <script>
  271. var _this;
  272. import {
  273. mapState
  274. } from 'vuex';
  275. export default {
  276. data() {
  277. return {
  278. showCancelButton: true,
  279. qyList: [],
  280. isShowAlert: false,
  281. alertTitle: '确定发布运输任务?',
  282. alertContent: null,
  283. radioCustomStyle: {
  284. margin: '0 0 0 20rpx'
  285. },
  286. show: false,
  287. columns: [
  288. []
  289. ],
  290. array: {},
  291. freightAdvance: false,
  292. dataObj: {
  293. commonId: '',
  294. cargoOwner: '',
  295. sendPrivate: '',
  296. sendCity: '',
  297. sendArea: '',
  298. sendDetailedAddress: '',
  299. unloadPrivate: '',
  300. unloadCity: '',
  301. unloadArea: '',
  302. unloadDetailedAddress: '',
  303. distance: '',
  304. goodsName: '',
  305. billingMethod: '元/吨',
  306. freightPrice: '',
  307. freightAdvance: false,
  308. sender: '',
  309. senderPhone: '',
  310. receiver: '',
  311. receiverPhone: '',
  312. weight: '',
  313. loadingDateStart: '',
  314. loadingDateEnd: '',
  315. carLengthSmall: '',
  316. carLength: '',
  317. loadWeightSmall: '',
  318. loadWeight: '',
  319. carModel: '',
  320. taskDescription: '',
  321. taskValidity: '',
  322. sendLongitude: '',
  323. sendLatitude: '',
  324. unsendLongitude: '',
  325. unsendLatitude: '',
  326. sendAdCode: '',
  327. unsendAdCode: ''
  328. },
  329. confirmText: '',
  330. isShowAlert1: false,
  331. checkboxValue1: ['不限'],
  332. checkboxList1: [{
  333. name: '不限',
  334. disabled: false
  335. },
  336. {
  337. name: '高栏',
  338. disabled: false
  339. },
  340. {
  341. name: '集装箱',
  342. disabled: false
  343. },
  344. {
  345. name: '自卸车',
  346. disabled: false
  347. }
  348. ],
  349. value: true,
  350. ValidityPeriodType: '',
  351. dataDetails: {
  352. type: '元/吨'
  353. },
  354. radiolist1: [{
  355. name: '元/吨',
  356. disabled: false
  357. },
  358. {
  359. name: '元/车',
  360. disabled: false
  361. },
  362. ],
  363. // 货物类别
  364. isGoodsType: false,
  365. goodsList: [],
  366. //业务类型
  367. isBusinessType: false,
  368. businessList: []
  369. }
  370. },
  371. onNavigationBarButtonTap(e) {
  372. console.log("success")
  373. this.goToRecord()
  374. },
  375. onShow() {
  376. var datetime = new Date().getTime()
  377. var datetime1 = datetime + (24 * 60 * 60 * 1000 * 30 * 6)
  378. var date = new Date(datetime1)
  379. this.array = {
  380. year: date.getFullYear(),
  381. month: date.getMonth() + 1,
  382. day: date.getDate()
  383. }
  384. _this = this
  385. // #ifdef APP-PLUS
  386. // let _status = this.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
  387. // phone: this.userInfo.phone
  388. // }).then(res => {
  389. // uni.setStorageSync("firstAuthentication",res.data)
  390. // return res.data.authenticationStatus
  391. // })
  392. // if (_status == '已禁用') {
  393. // this.isShowAlert = true
  394. // this.alertTitle = '账号审核中'
  395. // this.confirmText = '退出APP'
  396. // this.showCancelButton = false
  397. // return
  398. // } else {
  399. // }
  400. // #endif
  401. if (!this.hasLogin) {
  402. uni.$u.route('/pages/public/login');
  403. return
  404. }
  405. this.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
  406. phone: this.userInfo.phone
  407. }).then(res => {
  408. uni.setStorageSync("firstAuthentication", res.data)
  409. let _obj = res.data
  410. if (_obj.authenticationStatus == '已认证') {
  411. uni.$u.route('/pages/components/empty/index');
  412. } else if (_obj.authenticationStatus == '审核中') {
  413. uni.showToast({
  414. title: '身份信息审核中',
  415. icon: 'none'
  416. })
  417. } else if (_obj.authenticationStatus == '已过期') {
  418. this.alertTitle = '身份信息已过期!'
  419. this.showCancelButton = false
  420. this.confirmText = '立即修改'
  421. this.isShowAlert1 = true
  422. } else {
  423. this.alertTitle = '身份信息未认证,去认证?'
  424. this.confirmText = '确认'
  425. this.showCancelButton = false
  426. this.isShowAlert = true
  427. }
  428. })
  429. this.validityPeriod = this.$helper.makeValidityPeriod(0, '随时')
  430. let _faddress = uni.getStorageSync('storage_faddress');
  431. let _saddress = uni.getStorageSync('storage_saddress');
  432. if (_faddress) {
  433. this.dataObj.sendCity = _faddress.city
  434. this.dataObj.sendArea = _faddress.area
  435. this.dataObj.sendAdCode = _faddress.adCode
  436. this.dataObj.sendPrivate = _faddress.province
  437. this.dataObj.sendDetailedAddress = _faddress.detailedAddress
  438. this.dataObj.sendLongitude = _faddress.longitude
  439. this.dataObj.sendLatitude = _faddress.latitude
  440. if (_faddress.contactPhone) {
  441. this.dataObj.senderPhone = _faddress.contactPhone
  442. }
  443. if (_faddress.contacts) {
  444. this.dataObj.sender = _faddress.contacts
  445. }
  446. } else {
  447. this.getDefaultPlace(0)
  448. }
  449. if (_saddress) {
  450. this.dataObj.unloadDetailedAddress = _saddress.detailedAddress
  451. this.dataObj.unloadCity = _saddress.city
  452. this.dataObj.unloadArea = _saddress.area
  453. this.dataObj.unsendAdCode = _faddress.adCode
  454. this.dataObj.unloadPrivate = _saddress.province
  455. this.dataObj.unsendLongitude = _saddress.longitude
  456. this.dataObj.unsendLatitude = _saddress.latitude
  457. if (_saddress.contacts) {
  458. this.dataObj.receiver = _saddress.contacts
  459. }
  460. if (_saddress.contactPhone) {
  461. this.dataObj.receiverPhone = _saddress.contactPhone
  462. }
  463. } else {
  464. this.getDefaultPlace(1)
  465. }
  466. if (this.dataObj.sendLatitude && this.dataObj.sendLongitude && this.dataObj.unsendLatitude && this.dataObj
  467. .unsendLongitude) {
  468. this.dataObj.distance = this.$helper.getDistance(this.dataObj.unsendLatitude, this.dataObj
  469. .unsendLongitude,
  470. this.dataObj.sendLatitude, this.dataObj.sendLongitude)
  471. }
  472. this.dataObj.loadingDateStart = '随时'
  473. this.dataObj.loadingDateEnd = '随时'
  474. this.dataObj.taskValidity = '长期'
  475. this.getSFList()
  476. },
  477. async onLoad() {
  478. //货物类别(默认上一次)
  479. this.queryGoodsList() // 查询货物类别
  480. let goods = uni.getStorageSync("goodsType")
  481. if (goods) {
  482. this.dataObj.goodsType = goods.name
  483. this.dataObj.goodsTypeKey = goods.key
  484. }
  485. this.queryBusinessTypeList() //查询业务类型
  486. // _this = this
  487. // // #ifdef APP-PLUS
  488. // let _status = await this.$request.baseRequest('get', '/cargoOwnerInfo/firstAuthentication', {
  489. // phone: this.userInfo.phone,
  490. // }).then(res => {
  491. // if(res.data){
  492. // return res.data.authenticationStatus
  493. // }
  494. // })
  495. // if (_status == '已禁用') {
  496. // this.isShowAlert = true
  497. // this.alertTitle = '账号审核中'
  498. // this.confirmText = '退出APP'
  499. // this.showCancelButton = false
  500. // return
  501. // } else {}
  502. // // #endif
  503. },
  504. computed: {
  505. ...mapState(['hasLogin', 'userInfo']),
  506. },
  507. methods: {
  508. lookContract() {
  509. uni.downloadFile({
  510. url: "https://taohaoliang.oss-cn-beijing.aliyuncs.com/pcfiles/hzContract.pdf",
  511. success: function(res) {
  512. var filePath = res.tempFilePath;
  513. uni.openDocument({
  514. filePath: filePath,
  515. showMenu: true,
  516. success: function(res) {
  517. console.log('打开文档成功');
  518. }
  519. });
  520. }
  521. });
  522. },
  523. queryGoodsList() {
  524. this.$request.baseRequest('get', '/commonSysParameter/getInfo', {
  525. constId: "CON1"
  526. }).then(res => {
  527. this.dataObj.goodsType = res.data[0].constValue
  528. this.goodsList.push(res.data)
  529. })
  530. },
  531. queryBusinessTypeList() {
  532. this.$request.baseRequest('get', '/commonSysParameter/getInfo', {
  533. constId: "BUS1"
  534. }).then(res => {
  535. this.dataObj.businessType = res.data[0].constValue
  536. this.businessList.push(res.data)
  537. })
  538. },
  539. goodstypeChange() {
  540. this.isGoodsType = true
  541. },
  542. businessChange() {
  543. this.isBusinessType = true
  544. },
  545. goodsSubmit(e) {
  546. this.dataObj.goodsType = e.value[0].constValue
  547. this.dataObj.goodsTypeKey = e.value[0].constKey
  548. let _obj = {
  549. name: e.value[0].constValue,
  550. key: e.value[0].constKey
  551. }
  552. uni.setStorageSync("goodsType", _obj)
  553. this.isGoodsType = false
  554. },
  555. businessSubmit(e) {
  556. this.dataObj.businessType = e.value[0].constValue
  557. this.dataObj.businessTypeKey = e.value[0].constKey
  558. this.isBusinessType = false
  559. },
  560. getSFList() {
  561. uni.showLoading({
  562. mask: true,
  563. title: '加载中'
  564. })
  565. this.dataObj.commonId = this.userInfo.id
  566. this.$request.baseRequest('get', '/cargoOwnerCompInfo/cargoOwnerList', {
  567. commonId: this.userInfo.id
  568. }).then(res => {
  569. if (uni.getStorageSync('releaseCargoOwner')) {
  570. this.dataObj.cargoOwner = uni.getStorageSync('releaseCargoOwner')
  571. this.dataObj.compId = uni.getStorageSync('releasecompId')
  572. }
  573. // 可用企业货主
  574. this.qyList = []
  575. // 自己法人
  576. // let _self = res.data.companyInfoList
  577. let _self = res.data.hyCompanyInfoList
  578. //代理货主
  579. // let _dlhz = res.data.cargoOwnerCompInfoList
  580. let _dlhz = res.data.hyCargoOwnerCompInfoList
  581. if (!_dlhz) _dlhz = []
  582. if (!_self) _self = []
  583. if (_self.length > 0) {
  584. for (let i = 0; i < _self.length; i++) {
  585. _self[i].compStatus = 'wd'
  586. if (_self[i].status == '已认证') {
  587. this.qyList.push(_self[i])
  588. }
  589. }
  590. }
  591. if (_dlhz.length > 0) {
  592. for (let i = 0; i < _dlhz.length; i++) {
  593. _dlhz[i].compStatus = 'ss'
  594. if (_dlhz[i].status == '已认证') {
  595. this.qyList.push(_dlhz[i])
  596. }
  597. }
  598. }
  599. this.columns = [
  600. []
  601. ]
  602. let obj = uni.getStorageSync("firstAuthentication")
  603. if (obj && obj.authenticationStatus == '已认证') {
  604. this.columns[0].push("个人货主")
  605. }
  606. for (let i = 0; i < this.qyList.length; i++) {
  607. this.columns[0].push(this.qyList[i].company ? this.qyList[i].company : this.qyList[i]
  608. .companyName)
  609. }
  610. this.$forceUpdate()
  611. uni.hideLoading()
  612. })
  613. .catch(res => {});
  614. },
  615. validate() {
  616. if (uni.$u.test.isEmpty(this.dataObj.cargoOwner)) {
  617. this.$refs.uToast.show({
  618. type: 'error',
  619. message: "货主不能为空!",
  620. })
  621. return true
  622. }
  623. if (uni.$u.test.isEmpty(this.dataObj.sendArea)) {
  624. this.$refs.uToast.show({
  625. type: 'error',
  626. message: "请选择发货地区!",
  627. })
  628. return true
  629. }
  630. if (uni.$u.test.isEmpty(this.dataObj.sendDetailedAddress)) {
  631. this.$refs.uToast.show({
  632. type: 'error',
  633. message: "发货详细地址不能为空!",
  634. })
  635. return true
  636. }
  637. if (uni.$u.test.isEmpty(this.dataObj.unloadArea)) {
  638. this.$refs.uToast.show({
  639. type: 'error',
  640. message: "请选择收货地区!",
  641. })
  642. return true
  643. }
  644. if (uni.$u.test.isEmpty(this.dataObj.unloadDetailedAddress)) {
  645. this.$refs.uToast.show({
  646. type: 'error',
  647. message: "收货详细地址不能为空!",
  648. })
  649. return true
  650. }
  651. if (uni.$u.test.isEmpty(this.dataObj.businessType)) {
  652. this.$refs.uToast.show({
  653. type: 'error',
  654. message: "业务类型不能为空!",
  655. })
  656. return true
  657. }
  658. if (uni.$u.test.isEmpty(this.dataObj.goodsType)) {
  659. this.$refs.uToast.show({
  660. type: 'error',
  661. message: "货物类别不能为空!",
  662. })
  663. return true
  664. }
  665. if (uni.$u.test.isEmpty(this.dataObj.goodsName)) {
  666. this.$refs.uToast.show({
  667. type: 'error',
  668. message: "货名不能为空!",
  669. })
  670. return true
  671. }
  672. if (!uni.$u.test.chinese(this.dataObj.goodsName)) {
  673. this.$refs.uToast.show({
  674. type: 'error',
  675. message: "货名输入错误!",
  676. })
  677. return true
  678. }
  679. if (uni.$u.test.isEmpty(this.dataObj.receiver)) {
  680. this.$refs.uToast.show({
  681. type: 'error',
  682. message: "收货方不能为空!",
  683. })
  684. return true
  685. }
  686. if (uni.$u.test.isEmpty(this.dataObj.receiverPhone)) {
  687. this.$refs.uToast.show({
  688. type: 'error',
  689. message: "收货方手机号不能为空!",
  690. })
  691. return true
  692. }
  693. // if (uni.$u.test.isEmpty(this.dataObj.receiverIdcard)) {
  694. // this.$refs.uToast.show({
  695. // type: 'error',
  696. // message: "收货人身份证不能为空!",
  697. // })
  698. // return true
  699. // }
  700. if (!this.dataObj.receiverIdcard && !this.dataObj.receiverCreditCode) {
  701. this.$refs.uToast.show({
  702. type: 'error',
  703. message: "信用代码和身份证号码至少填写一个!",
  704. duration: 4000
  705. })
  706. return true
  707. }
  708. // if(this.dataObj.receiverIdcard&&!uni.$u.test.rangeLength(this.dataObj.receiverIdcard, [18, 18])){
  709. // this.$refs.uToast.show({
  710. // type: 'error',
  711. // message: "身份证号输入错误!",
  712. // })
  713. // return true
  714. // }
  715. if (this.dataObj.receiverIdcard && this.dataObj.receiverIdcard.length != 18) {
  716. this.$refs.uToast.show({
  717. type: 'error',
  718. message: "身份证号输入错误!",
  719. })
  720. return true
  721. }
  722. if (this.dataObj.receiverCreditCode && this.dataObj.receiverCreditCode.length != 18) {
  723. this.$refs.uToast.show({
  724. type: 'error',
  725. message: "信用代码输入错误!",
  726. })
  727. return true
  728. }
  729. if (uni.$u.test.isEmpty(this.dataObj.freightPrice)) {
  730. this.$refs.uToast.show({
  731. type: 'error',
  732. message: "运费单价不能为空!",
  733. })
  734. return true
  735. }
  736. if (
  737. this.dataObj.freightPrice < 0 || this.dataObj.freightPrice > 100000 || (
  738. String(this.dataObj.freightPrice).indexOf('.') != -1 && String(this.dataObj.freightPrice).length -
  739. (String(this.dataObj.freightPrice).indexOf(
  740. '.') + 1) > 2)
  741. ) {
  742. uni.showToast({
  743. title: '运费单价输入错误!',
  744. duration: 2000,
  745. icon: "none",
  746. });
  747. return true
  748. }
  749. if (this.dataObj.weight) {
  750. if (
  751. this.dataObj.weight < 0.1 || this.dataObj.weight > 10000000 || (
  752. String(this.dataObj.weight).indexOf('.') != -1 && String(this.dataObj.weight).length -
  753. (String(this.dataObj.weight).indexOf(
  754. '.') + 1) > 2)
  755. ) {
  756. uni.showToast({
  757. title: '重量输入错误!',
  758. duration: 2000,
  759. icon: "none",
  760. });
  761. return true
  762. }
  763. }
  764. if (this.dataObj.carLengthSmall) {
  765. if (this.dataObj.carLengthSmall < 2 || this.dataObj.carLengthSmall > 30) {
  766. uni.showToast({
  767. title: '最小车长输入错误!',
  768. duration: 2000,
  769. icon: "none",
  770. });
  771. return true
  772. }
  773. }
  774. if (this.dataObj.carLength) {
  775. if (this.dataObj.carLength < 2 || this.dataObj.carLength > 30) {
  776. uni.showToast({
  777. title: '最大车长输入错误!',
  778. duration: 2000,
  779. icon: "none",
  780. });
  781. return true
  782. }
  783. }
  784. if (this.dataObj.carLengthSmall && this.dataObj.carLength && (Number(this.dataObj.carLengthSmall) > Number(
  785. this.dataObj
  786. .carLength))) {
  787. uni.showToast({
  788. title: '最小车长应小于最大车长!',
  789. duration: 2000,
  790. icon: "none",
  791. });
  792. return true
  793. }
  794. if (this.dataObj.loadWeightSmall) {
  795. if (
  796. this.dataObj.loadWeightSmall < 0.1 || this.dataObj.loadWeightSmall > 100 || (
  797. String(this.dataObj.loadWeightSmall).indexOf('.') != -1 && String(this.dataObj
  798. .loadWeightSmall).length -
  799. (String(this.dataObj.loadWeightSmall).indexOf(
  800. '.') + 1) > 3)
  801. ) {
  802. uni.showToast({
  803. title: '载量输入错误!',
  804. duration: 2000,
  805. icon: "none",
  806. });
  807. return true
  808. }
  809. }
  810. if (this.dataObj.loadWeight) {
  811. if (
  812. this.dataObj.loadWeight < 0.1 || this.dataObj.loadWeight > 100 || (
  813. String(this.dataObj.loadWeight).indexOf('.') != -1 && String(this.dataObj.loadWeight).length -
  814. (String(this.dataObj.loadWeight).indexOf(
  815. '.') + 1) > 3)
  816. ) {
  817. uni.showToast({
  818. title: '载量输入错误!',
  819. duration: 2000,
  820. icon: "none",
  821. });
  822. return true
  823. }
  824. }
  825. if (this.dataObj.loadWeightSmall && this.dataObj.loadWeight && (Number(this.dataObj.loadWeightSmall) >
  826. Number(this.dataObj
  827. .loadWeight))) {
  828. uni.showToast({
  829. title: '最小载重应小于最大载重!',
  830. duration: 2000,
  831. icon: "none",
  832. });
  833. return true
  834. }
  835. },
  836. confirmClick() {
  837. uni.$u.throttle(this.requestdata, 500)
  838. },
  839. requestdata() {
  840. console.log(this.dataObj)
  841. // // #ifdef APP-PLUS
  842. // if (this.alertTitle == '账号审核中') {
  843. // if (uni.getSystemInfoSync().platform == 'ios') {
  844. // plus.ios.import("UIApplication").sharedApplication().performSelector("exit")
  845. // } else if (uni.getSystemInfoSync().platform == 'android') {
  846. // plus.runtime.quit();
  847. // }
  848. // return
  849. // }
  850. // // #endif
  851. // if (this.alertTitle == '身份信息未认证,去认证?') {
  852. // uni.switchTab({
  853. // url: '/pages/mine/index'
  854. // })
  855. // return
  856. // }
  857. // this.isShowAlert = false
  858. if (this.dataDetails.type == '元/吨') {
  859. this.dataObj.billingMethod = 0
  860. } else {
  861. this.dataObj.billingMethod = 1
  862. }
  863. if (this.dataObj.freightAdvance) {
  864. this.dataObj.freightAdvance = 1
  865. } else {
  866. this.dataObj.freightAdvance = 0
  867. }
  868. if (!this.dataObj.receiverIdcard) {
  869. this.dataObj.receiverIdcard = ''
  870. }
  871. if (!this.dataObj.receiverCreditCode) {
  872. this.dataObj.receiverCreditCode = ''
  873. }
  874. let _list = []
  875. for (let i = 0; i < this.checkboxValue1.length; i++) {
  876. if (this.checkboxValue1[i] == '不限') {
  877. _list.push(1)
  878. } else if (this.checkboxValue1[i] == '高栏') {
  879. _list.push(2)
  880. } else if (this.checkboxValue1[i] == '集装箱') {
  881. _list.push(3)
  882. } else if (this.checkboxValue1[i] == '自卸车') {
  883. _list.push(4)
  884. }
  885. }
  886. this.dataObj.carModel = _list.toString()
  887. this.dataObj.commonId = this.userInfo.id
  888. uni.$u.route('/pages/order/signContract', {
  889. obj: JSON.stringify(this.dataObj),
  890. type: 1
  891. });
  892. // this.$request.baseRequest('post', '/publishTaskInfo/api/addTask', this.dataObj).then(res => {
  893. // if(res.code == 200){
  894. // uni.removeStorage({
  895. // key: 'storage_saddress'
  896. // });
  897. // uni.removeStorage({
  898. // key: 'storage_faddress'
  899. // });
  900. // uni.removeStorage({
  901. // key: 'releaseCargoOwner'
  902. // });
  903. // uni.removeStorage({
  904. // key: 'releasecompId'
  905. // });
  906. // // uni.redirectTo({
  907. // // url: "/pages/release/release"
  908. // // })
  909. // this.dataObj.id = res.data
  910. // }
  911. // })
  912. // .catch(res => {
  913. // uni.showToast({
  914. // title: res.message,
  915. // icon: 'none',
  916. // duration: 2000
  917. // })
  918. // });
  919. },
  920. cancelClick() {
  921. this.isShowAlert = false
  922. },
  923. //获取默认发货地、收货地
  924. getDefaultPlace(type) {
  925. // 0时获取默认发货地址,1时获取默认收货地址 通过选择获取的地址无需获取默认地址
  926. uni.showLoading({
  927. mask: true,
  928. title: '加载中...'
  929. })
  930. this.$request.baseRequest('get', '/cargoOwnerAddressInfo/addressList', {
  931. commonId: this.userInfo.id
  932. }).then(res => {
  933. uni.hideLoading()
  934. for (let i = 0; i < res.data.length; i++) {
  935. if (res.data[i].defaultShipment == 1 && type == 0) {
  936. this.dataObj.sendCity = res.data[i].city
  937. this.dataObj.sendArea = res.data[i].area
  938. this.dataObj.sendPrivate = res.data[i].province
  939. this.dataObj.sendDetailedAddress = res.data[i].detailedAddress
  940. this.dataObj.sendLongitude = res.data[i].longitude
  941. this.dataObj.sendLatitude = res.data[i].latitude
  942. this.dataObj.sender = res.data[i].contacts
  943. this.dataObj.senderPhone = res.data[i].contactPhone
  944. }
  945. if (res.data[i].defaultReceipt == 1 && type == 1) {
  946. this.dataObj.unloadDetailedAddress = res.data[i].detailedAddress
  947. this.dataObj.unloadCity = res.data[i].city
  948. this.dataObj.unloadArea = res.data[i].area
  949. this.dataObj.unloadPrivate = res.data[i].province
  950. this.dataObj.unsendLongitude = res.data[i].longitude
  951. this.dataObj.unsendLatitude = res.data[i].latitude
  952. this.dataObj.receiver = res.data[i].contacts
  953. this.dataObj.receiverPhone = res.data[i].contactPhone
  954. }
  955. }
  956. if (this.dataObj.sendLatitude && this.dataObj.sendLongitude && this.dataObj.unsendLatitude &&
  957. this.dataObj.unsendLongitude) {
  958. this.dataObj.distance = this.$helper.getDistance(this.dataObj.unsendLatitude, this.dataObj
  959. .unsendLongitude, this.dataObj.sendLatitude, this.dataObj.sendLongitude)
  960. }
  961. })
  962. .catch(res => {
  963. uni.hideLoading()
  964. uni.showToast({
  965. title: res.message,
  966. icon: 'none',
  967. duration: 2000
  968. })
  969. });
  970. },
  971. changeHandler(e) {
  972. const {
  973. columnIndex,
  974. value,
  975. values,
  976. index,
  977. picker = this.$refs.uPicker
  978. } = e
  979. // if (columnIndex === 0) {
  980. //
  981. // if (e.index != 0) {
  982. // picker.setColumnValues(1, this.validityPeriod[1].shift())
  983. // }
  984. // } else if (columnIndex === 1) {
  985. // if (e.index != 0) {
  986. // picker.setColumnValues(2, this.validityPeriod[2].shift())
  987. // }
  988. // }
  989. },
  990. selectCargoOwnerClose() {
  991. this.show = false
  992. },
  993. confirmSelectCargoOwner(e) {
  994. this.dataObj.cargoOwner = e.value[0]
  995. for (let i = 0; i < this.qyList.length; i++) {
  996. let _name = this.qyList[i].company ? this.qyList[i].company : this.qyList[i].companyName
  997. if (_name == e.value[0]) {
  998. if (e.value[0] != '个人货主') {
  999. this.freightAdvance = true
  1000. if (this.qyList[i].compStatus == 'ss') {
  1001. this.dataObj.compId = this.qyList[i].compId
  1002. } else {
  1003. this.dataObj.compId = this.qyList[i].id
  1004. }
  1005. // console.log(this.qyList[i].compStatus,this.dataObj.compId)
  1006. uni.setStorageSync('releasecompId', this.dataObj.compId)
  1007. } else {
  1008. this.$request.baseRequest('get', '/hyCargoOwnerPayeeInfo/selectPayee', {
  1009. commonId: this.userInfo.id,
  1010. pageSize: 10,
  1011. currentPage: 1,
  1012. }).then(res => {
  1013. if (res.code == '200') {
  1014. if (res.data.records.length == 0) {
  1015. this.$refs.uToast.show({
  1016. type: 'error',
  1017. message: "未绑定银行卡"
  1018. })
  1019. this.dataObj.cargoOwner = ''
  1020. return
  1021. }
  1022. this.freightAdvance = false
  1023. }
  1024. })
  1025. }
  1026. this.freightAdvance = this.qyList[i].advanceFreightService == 1 ? true : false
  1027. this.dataObj.freightAdvance = this.qyList[i].advanceFreightService == 1 ? true : false
  1028. }
  1029. }
  1030. uni.setStorageSync('releaseCargoOwner', this.dataObj.cargoOwner)
  1031. this.show = false
  1032. },
  1033. selectCargoOwner() {
  1034. this.show = true
  1035. },
  1036. selectAddress(type) {
  1037. // uni.removeStorage({
  1038. // key: 'storage_faddress'
  1039. // });
  1040. // uni.removeStorage({
  1041. // key: 'storage_saddress'
  1042. // });
  1043. uni.$u.route('/pages/release/selectAddress', {
  1044. type: type,
  1045. });
  1046. },
  1047. checkboxChange(n) {
  1048. if (n.length > 1 && n.length < 4 && n.includes('不限')) {
  1049. n.shift(0)
  1050. } else if (n.length == 4) {
  1051. this.checkboxValue1 = n.splice(1, 4)
  1052. }
  1053. },
  1054. selectValidityPeriodcq() {
  1055. this.$refs.dateEl.show();
  1056. },
  1057. confirmValidityPeriod(date) {
  1058. switch (this.ValidityPeriodType) {
  1059. case 0:
  1060. this.dataObj.loadingDateStart = date.date
  1061. break
  1062. case 1:
  1063. this.dataObj.loadingDateEnd = date.date
  1064. break
  1065. }
  1066. },
  1067. getTime: function() {
  1068. var date = new Date().getTime()
  1069. year = date.getFullYear(),
  1070. month = date.getMonth() + 1,
  1071. day = date.getDate(),
  1072. month >= 1 && month <= 9 ? (month = "0" + month) : "";
  1073. day >= 0 && day <= 9 ? (day = "0" + day) : "";
  1074. var timer = year + '-' + month + '-' + day
  1075. return timer;
  1076. },
  1077. confirmValidityPeriodcq(date) {
  1078. this.dataObj.taskValidity = date.date
  1079. },
  1080. selectValidityPeriod(type) {
  1081. this.ValidityPeriodType = type
  1082. this.$refs.datezc.show()
  1083. // this.isShowValidity = true
  1084. },
  1085. change(e) {
  1086. console.log('change', e);
  1087. },
  1088. back() {
  1089. uni.navigateBack({
  1090. delta: 1
  1091. })
  1092. },
  1093. goToRecord() {
  1094. uni.$u.route('/pages/release/record');
  1095. },
  1096. radioChange(n) {
  1097. console.log(n)
  1098. this.dataDetails.type = n
  1099. },
  1100. submit() {
  1101. if (this.validate()) return
  1102. if (this.dataObj.cargoOwner == '个人货主') {
  1103. this.dataObj.compId = ""
  1104. this.dataObj.freightAdvance = 0
  1105. } else {
  1106. for (let i = 0; i < this.qyList.length; i++) {
  1107. if (this.dataObj.cargoOwner == this.qyList[i].companyName) {
  1108. this.dataObj.compId = this.qyList[i].id
  1109. break
  1110. }
  1111. }
  1112. }
  1113. uni.$u.throttle(this.requestdata, 500)
  1114. // this.isShowAlert = true;
  1115. },
  1116. }
  1117. }
  1118. </script>
  1119. <style scoped lang="scss">
  1120. .input {
  1121. text-align: right;
  1122. }
  1123. .content {
  1124. height: 100vh;
  1125. overflow: scroll;
  1126. }
  1127. .title {
  1128. padding: 0 20rpx;
  1129. display: flex;
  1130. justify-content: center;
  1131. position: relative;
  1132. .nav-title {
  1133. font-size: 32rpx;
  1134. }
  1135. .back {
  1136. position: absolute;
  1137. left: 20rpx;
  1138. }
  1139. .search {
  1140. display: flex;
  1141. align-items: center;
  1142. position: absolute;
  1143. right: 20rpx;
  1144. }
  1145. }
  1146. .fixed1 {
  1147. height: var(--status-bar-height);
  1148. }
  1149. .row {
  1150. display: flex;
  1151. justify-content: space-between;
  1152. }
  1153. .content1 {
  1154. background: white;
  1155. margin: 40rpx 20rpx 0 20rpx;
  1156. border-radius: 20rpx;
  1157. padding: 40rpx;
  1158. .select-sf {
  1159. color: #171717;
  1160. font-size: 34rpx;
  1161. font-weight: 600;
  1162. }
  1163. .select-sf1 {
  1164. color: #999999;
  1165. }
  1166. .right {
  1167. color: #CBCBCB
  1168. }
  1169. }
  1170. .content2,
  1171. .content3,
  1172. .content5 {
  1173. box-sizing: border-box;
  1174. background: white;
  1175. border-radius: 20rpx;
  1176. padding: 20rpx;
  1177. margin: 20rpx;
  1178. .row {
  1179. margin: 30rpx;
  1180. }
  1181. .row1,
  1182. .row2 {
  1183. display: flex;
  1184. justify-content: space-between;
  1185. align-items: center;
  1186. .left .top {
  1187. display: flex;
  1188. }
  1189. }
  1190. }
  1191. .select-type {
  1192. display: flex;
  1193. justify-content: flex-end;
  1194. }
  1195. .top-title {
  1196. background: #fff;
  1197. padding: 20rpx;
  1198. position: fixed;
  1199. z-index: 100;
  1200. top: 0;
  1201. box-sizing: border-box;
  1202. width: 100%;
  1203. }
  1204. .content2 {
  1205. padding: 40rpx;
  1206. .row1,
  1207. .row2 {
  1208. .left {
  1209. width: 100%;
  1210. }
  1211. .right {
  1212. color: #CBCBCB
  1213. }
  1214. }
  1215. .row2 {
  1216. margin-top: 40rpx;
  1217. }
  1218. .top {
  1219. display: flex;
  1220. align-items: center;
  1221. }
  1222. .bottom {
  1223. margin-top: 10rpx;
  1224. padding-left: 72rpx;
  1225. }
  1226. .title {
  1227. font-size: 36rpx;
  1228. font-weight: 700;
  1229. color: #171717;
  1230. width: 90%;
  1231. justify-content: flex-start;
  1232. // text-align:left;
  1233. }
  1234. .collect {
  1235. width: 40rpx;
  1236. height: 40rpx;
  1237. line-height: 40rpx;
  1238. background: #2772FB;
  1239. color: white;
  1240. // font-size:1px;
  1241. padding: 6rpx;
  1242. border-radius: 50%;
  1243. text-align: center;
  1244. }
  1245. .send {
  1246. width: 40rpx;
  1247. height: 40rpx;
  1248. line-height: 40rpx;
  1249. background: #101010;
  1250. color: white;
  1251. padding: 6rpx;
  1252. border-radius: 50%;
  1253. text-align: center;
  1254. }
  1255. }
  1256. .content3 {}
  1257. .content4 {
  1258. margin: 20rpx;
  1259. padding-left: 20rpx;
  1260. .title {
  1261. color: #999999;
  1262. }
  1263. .btn-text {
  1264. color: #2772FB;
  1265. border: 1px solid #2772FB;
  1266. border-radius: 40rpx;
  1267. padding: 0rpx 10rpx;
  1268. box-sizing: border-box;
  1269. }
  1270. }
  1271. .submit {
  1272. width: 90%;
  1273. margin: 100rpx auto;
  1274. font-size: 36rpx;
  1275. font-weight: 500;
  1276. color: #FFFFFF;
  1277. background: #2772FB;
  1278. text-align: center;
  1279. padding: 20rpx 0;
  1280. border-radius: 50rpx;
  1281. }
  1282. .select-data {
  1283. color: #999999;
  1284. }
  1285. .row-bgc {
  1286. background: #F7F8FA;
  1287. padding: 20rpx 30rpx;
  1288. box-sizing: border-box;
  1289. border-radius: 10rpx;
  1290. }
  1291. .car-input {
  1292. // padding:20rpx;
  1293. // box-sizing: border-box;
  1294. // border-radius: 10px;
  1295. }
  1296. .car-line {
  1297. margin: 0 20rpx;
  1298. }
  1299. .car-row {
  1300. display: flex;
  1301. background: white;
  1302. padding: 20rpx;
  1303. box-sizing: border-box;
  1304. border-radius: 10rpx;
  1305. }
  1306. uni-navigator {
  1307. display: inline-block;
  1308. color: #2772FB;
  1309. }
  1310. </style>