customerDetails.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663
  1. <template>
  2. <view :class="mask ? 'tl-show': ''">
  3. <!-- <u-navbar :title="title" :autoBack="true" :placeholder="true" leftIconColor="#fff"
  4. :titleStyle="{ color: '#ffffff' }" bgColor="#FD4B09">
  5. <template slot="right">
  6. <u-icon name="checkmark" color="#fff" @click="submit"></u-icon>
  7. </template>
  8. </u-navbar> -->
  9. <u-cell-group :border="false">
  10. <u-cell :border="false" center title="基础信息"></u-cell>
  11. </u-cell-group>
  12. <u--form labelPosition="left" :model="form" ref="form" labelWidth="150rpx"
  13. style="margin-top: 10rpx;margin-bottom: 150rpx;">
  14. <view style="width: calc(96%);margin: 0 auto;background-color: #fff;border-radius: 20rpx;">
  15. <view style="padding: 0 10rpx;">
  16. <u-form-item label="公司名称" prop="cname" borderBottom>
  17. <u-input v-model="form.cname" inputAlign="right" border="none" placeholder="请输入" />
  18. </u-form-item>
  19. <u-form-item label="联系人" prop="cname" borderBottom>
  20. <u-input v-model="form.attn" inputAlign="right" border="none" placeholder="请输入" />
  21. </u-form-item>
  22. <u-form-item label="联系电话" prop="cname" borderBottom>
  23. <u-input v-model="form.tel" inputAlign="right" border="none" placeholder="请输入" />
  24. </u-form-item>
  25. <u-form-item label="送货地址" :borderBottom="false"
  26. @click="filterAll(['corpsAddrList','corpsAddrList'])">
  27. ({{form.corpsAddrList.length}})
  28. <u-input border="none" inputAlign="right" suffixIcon="plus-circle" disabled
  29. disabledColor="#ffffff" />
  30. </u-form-item>
  31. <u-cell-group :border="false">
  32. <u-swipe-action>
  33. <u-swipe-action-item :options="options" v-for="(item,index) in form.corpsAddrList"
  34. :key="index" @click="address(index)">
  35. <u-cell @click="change(item,index)" :iconStyle="{ color: '#fd4b09' }" :titleStyle="{
  36. width:'550rpx',
  37. overflow:'hidden',
  38. whiteSpace: 'nowrap',
  39. textOverflow: 'ellipsis',
  40. oTextOverflow:'ellipsis'
  41. }" :icon="item.type == 0?'map':'car'" :title="item.detailedAddress" :isLink="true"
  42. :borderBottom="form.corpsAddrList.length-1 == index?false:true">
  43. </u-cell>
  44. </u-swipe-action-item>
  45. </u-swipe-action>
  46. </u-cell-group>
  47. </view>
  48. </view>
  49. <u-cell-group :border="false">
  50. <u-cell :border="false" center title="类别信息" :arrow-direction="category==false?'up':'down'"
  51. :value="category==false?'展开':'收起'" :isLink="true" @click="category = !category"></u-cell>
  52. </u-cell-group>
  53. <view style="width: calc(96%);margin: 0 auto;background-color: #fff;border-radius: 20rpx;">
  54. <view style="padding: 0 10rpx;">
  55. <u-form-item label="客户类别" :borderBottom="category==false?false:true"
  56. @click="filterAll(['corpsTypeName','corpsTypeId'])">
  57. <u-input v-model="form.corpsTypeName" inputAlign="right" border="none" placeholder="请选择"
  58. disabled disabledColor="#ffffff">
  59. <template slot="suffix" style="text-align: center;">
  60. <u-icon name="plus-circle" size="18" @click.native.stop="newCategory()"></u-icon>
  61. </template>
  62. </u-input>
  63. </u-form-item>
  64. <view v-if="category">
  65. <u-form-item label="客户标签1" prop="mailbox" borderBottom labelWidth="180rpx">
  66. <u-input v-model="form.labels[0]" inputAlign="right" border="none" placeholder="请输入" />
  67. </u-form-item>
  68. <u-form-item label="客户标签2" prop="mailbox" labelWidth="180rpx" borderBottom>
  69. <u-input v-model="form.labels[1]" inputAlign="right" border="none" placeholder="请输入" />
  70. </u-form-item>
  71. <u-form-item label="客户标签3" prop="mailbox" labelWidth="180rpx" borderBottom>
  72. <u-input v-model="form.labels[2]" inputAlign="right" border="none" placeholder="请输入" />
  73. </u-form-item>
  74. <u-form-item label="客户标签4" prop="mailbox" labelWidth="180rpx" :borderBottom="false">
  75. <u-input v-model="form.labels[3]" inputAlign="right" border="none" placeholder="请输入" />
  76. </u-form-item>
  77. </view>
  78. </view>
  79. </view>
  80. <u-cell-group :border="false">
  81. <u-cell :border="false" center title="商务信息" :arrow-direction="customer==false?'up':'down'"
  82. :value="customer==false?'展开':'收起'" :isLink="true" @click="customer = !customer"></u-cell>
  83. </u-cell-group>
  84. <view style="width: calc(96%);margin: 0 auto;background-color: #fff;border-radius: 20rpx;" v-if="customer">
  85. <view style="padding: 0 10rpx;">
  86. <u-form-item label="客户经理" prop="mailbox" borderBottom>
  87. <u-input v-model="form.adminProfiles" inputAlign="right" border="none" placeholder="请输入" />
  88. </u-form-item>
  89. <u-form-item label="预付款" prop="mailbox" borderBottom>
  90. <u-input v-model="form.creditGrant" inputAlign="right" border="none" placeholder="请输入" />
  91. </u-form-item>
  92. <u-form-item label="欠款额度" prop="mailbox" borderBottom>
  93. <u-input v-model="form.arrears" inputAlign="right" border="none" placeholder="请输入" />
  94. </u-form-item>
  95. <u-form-item label="银行帐号" prop="mailbox" borderBottom>
  96. <u-input v-model="form.accountNo" inputAlign="right" border="none" placeholder="请输入" />
  97. </u-form-item>
  98. <u-form-item label="开户银行" prop="mailbox" :borderBottom="false">
  99. <u-input v-model="form.accountBank" inputAlign="right" border="none" placeholder="请输入" />
  100. </u-form-item>
  101. </view>
  102. </view>
  103. <u-cell-group :border="false">
  104. <u-cell :border="false" center title="图片信息" :arrow-direction="enclosure==false?'up':'down'"
  105. :value="enclosure==false?'展开':'收起'" :isLink="true" @click="enclosure = !enclosure"></u-cell>
  106. </u-cell-group>
  107. <view style="width: calc(96%);margin: 0 auto;background-color: #fff;border-radius: 20rpx;" v-if="enclosure">
  108. <view style="padding: 10rpx 10rpx;">
  109. <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple
  110. :maxCount="10"></u-upload>
  111. </view>
  112. </view>
  113. </u--form>
  114. <view style="width: 100%;position: fixed;bottom: 0;background-color: #fff;">
  115. <view style="width: 96%;;margin: 20rpx auto;">
  116. <u-button @click="submit" type="success" color="#fd4b09" shape="circle" text="确认提交"></u-button>
  117. </view>
  118. </view>
  119. <u-popup :show="show" @close="show = false,mask = false,formTwo = {}" closeable :closeOnClickOverlay="false"
  120. zIndex="10070">
  121. <view style="width: 96%;margin: auto auto;margin-top: 20rpx;padding-bottom: 20rpx;">
  122. <text>添加地址</text>
  123. <!-- <u-divider style="margin-bottom: 10rpx;"></u-divider>
  124. <view style="display: flex;justify-content: space-around;" :key="addrType">
  125. <view style="padding-bottom: 10rpx;" :class="addrType == 0?'selectedAddress':''"
  126. @click="selected(0)">客户地址</view>
  127. <view style="padding-bottom: 10rpx;" :class="addrType == 1?'selectedAddress':''"
  128. @click="selected(1)">物流地址</view>
  129. </view>
  130. <u-divider style="margin-top: 0rpx;"></u-divider> -->
  131. <u--form labelPosition="left" :model="formTwo" labelWidth="150rpx">
  132. <!-- <u-form-item label="省市区" borderBottom @click="filterAll(['addr','addr'])">
  133. <u-input v-model="formTwo.addr" border="none" placeholder="请选择" suffixIcon="arrow-right"
  134. disabled disabledColor="#ffffff" />
  135. </u-form-item> -->
  136. <u-form-item label="详细地址" borderBottom>
  137. <u-input v-model="formTwo.detailedAddress" border="none" placeholder="请输入">
  138. <template slot="suffix">
  139. <u-button @tap="getMap" type="success" size="mini" icon="map" color="#fd4b09"></u-button>
  140. </template>
  141. </u-input>
  142. </u-form-item>
  143. </u--form>
  144. <view style="display: flex;justify-content: space-between;padding-top: 20rpx;">
  145. <!-- <view style="width: 45%;">
  146. <u-button text="全部清空" type="warning" @click="confirmEmptying"></u-button>
  147. </view> -->
  148. <view style="width: 96%;margin: 0 auto;background-color: red;">
  149. <u-button text="保存" type="primary" @click="confirmSearch" color="#fd4b09"></u-button>
  150. </view>
  151. </view>
  152. </view>
  153. </u-popup>
  154. <u-picker :show="dropDown" ref="uPicker" :defaultIndex="[0,0,0]" :columns="columns" :keyName="keyName"
  155. @cancel="dropDown = false,mask = false" @confirm="confirm" @change="changeHandler">
  156. </u-picker>
  157. </view>
  158. </template>
  159. <script>
  160. import {
  161. urbanAreas,
  162. customerType,
  163. saveChanges,
  164. queryDetail,
  165. removeAddr,
  166. removeFile
  167. } from "@/api/views/customer/index.js"
  168. import http from '@/http/api.js'
  169. import {
  170. clientId,
  171. clientSecret
  172. } from '@/common/setting'
  173. export default {
  174. data() {
  175. return {
  176. form: {
  177. labels: ["", "", "", ""],
  178. corpsAddrList: []
  179. },
  180. customer: false,
  181. enclosure: false,
  182. category: false,
  183. title: "创建客户",
  184. options: [{
  185. text: '删除',
  186. style: {
  187. backgroundColor: '#fc0107',
  188. }
  189. }],
  190. formTwo: {},
  191. mask: false,
  192. show: false,
  193. dropDown: false,
  194. columns: [],
  195. keyName: "",
  196. addrType: 0,
  197. fileList1: [],
  198. screen: [],
  199. type: false,
  200. iNdex: 0
  201. }
  202. },
  203. onLoad(data) {
  204. if (data.id) {
  205. uni.setNavigationBarTitle({
  206. title: '客户详情'
  207. })
  208. this.title = "客户详情"
  209. this.query(data.id)
  210. } else {
  211. uni.setNavigationBarTitle({
  212. title: '创建客户'
  213. })
  214. this.title = "创建客户"
  215. }
  216. },
  217. methods: {
  218. newCategory(){
  219. uni.$u.route('/pages/views/product/customerType',{
  220. corpType:'KH'
  221. });
  222. },
  223. getMap() {
  224. let this_ = this
  225. uni.chooseLocation({
  226. success: function(res) {
  227. this_.$set(this_.formTwo, "dimension", res.latitude)
  228. this_.$set(this_.formTwo, "longitude", res.longitude)
  229. this_.$set(this_.formTwo, "detailedAddress", res.address)
  230. }
  231. });
  232. },
  233. change(item, index) {
  234. this.show = true
  235. this.mask = true
  236. this.formTwo = item
  237. this.iNdex = index
  238. this.type = true
  239. this.addrType = item.type
  240. // let this_ = this
  241. // uni.chooseLocation({
  242. // success: function (res) {
  243. // this_.$set(this_.form.corpsAddrList[index],"dimension",res.latitude)
  244. // this_.$set(this_.form.corpsAddrList[index],"longitude",res.longitude)
  245. // this_.$set(this_.form.corpsAddrList[index],"detailedAddress",res.address)
  246. // }
  247. // });
  248. },
  249. query(id) {
  250. uni.showLoading({
  251. title: '加载中',
  252. mask: true
  253. });
  254. queryDetail({
  255. id: id
  256. }).then(res => {
  257. this.form = res.data
  258. this.fileList1 = res.data.corpsFiles
  259. this.form.labels = res.data.labels ? res.data.labels.split(',') : []
  260. if (this.form.labels.length < 4) {
  261. for (let item in 4) {
  262. this.form.labels.push("")
  263. }
  264. }
  265. uni.hideLoading();
  266. })
  267. },
  268. //提交
  269. submit() {
  270. if (!this.form.cname) {
  271. return uni.showToast({
  272. title: '客户名称不能为空',
  273. icon: 'none',
  274. mask: true
  275. });
  276. }
  277. if (!this.form.attn) {
  278. return uni.showToast({
  279. title: '联系人不能为空',
  280. icon: 'none',
  281. mask: true
  282. });
  283. }
  284. if (!this.form.tel) {
  285. return uni.showToast({
  286. title: '电话不能为空',
  287. icon: 'none',
  288. mask: true
  289. });
  290. }
  291. if (this.form.corpsAddrList.length == 0) {
  292. return uni.showToast({
  293. title: '送货地址不能为空',
  294. icon: 'none',
  295. mask: true
  296. });
  297. }
  298. if (!this.form.corpsTypeId) {
  299. return uni.showToast({
  300. title: '客户类别不能为空',
  301. icon: 'none',
  302. mask: true
  303. });
  304. }
  305. let data = {
  306. ...this.form,
  307. code: this.form.cname,
  308. corpsFiles: this.fileList1
  309. }
  310. data.corpsFiles.forEach(item => delete item.status)
  311. let this_ = this
  312. uni.showModal({
  313. title: '提示',
  314. content: '是否确认保存',
  315. success: function(rest) {
  316. if (rest.confirm == true) {
  317. uni.showLoading({
  318. title: '加载中',
  319. mask: true
  320. });
  321. let labels = []
  322. for (let item of data.labels) {
  323. if (item) {
  324. labels.push(item)
  325. }
  326. }
  327. saveChanges({
  328. ...data,
  329. corpType: "KH",
  330. labels: labels.join(',')
  331. }).then(res => {
  332. uni.showToast({
  333. icon: "none",
  334. title: '保存成功',
  335. mask: true
  336. });
  337. setTimeout(function() {
  338. this_.query(res.data.id)
  339. }, 1000);
  340. uni.hideLoading();
  341. })
  342. }
  343. }
  344. })
  345. },
  346. //集合筛选条件
  347. filterAll(screen) {
  348. this.screen = screen
  349. switch (screen[1]) {
  350. case "corpsAddrList":
  351. this.show = true
  352. this.mask = true
  353. break;
  354. case "corpsTypeId":
  355. this.mask = true
  356. customerType({
  357. corpType: 'KH',
  358. parentId: 0
  359. }).then(res => {
  360. this.columns = [res.data]
  361. if (res.data.length > 0) {
  362. if (res.data[0].hasChildren == true) {
  363. customerType({
  364. corpType: 'KH',
  365. parentId: res.data[0].id
  366. }).then(rest => {
  367. this.columns.push(rest.data)
  368. this.dropDown = true
  369. this.keyName = "title"
  370. })
  371. } else {
  372. this.dropDown = true
  373. this.keyName = "title"
  374. }
  375. }
  376. })
  377. break;
  378. case "addr":
  379. uni.showLoading({
  380. title: '加载中',
  381. mask: true
  382. });
  383. urbanAreas({
  384. parentCode: "00"
  385. }).then(res => {
  386. this.columns = [res.data]
  387. urbanAreas({
  388. parentCode: res.data[0].id
  389. }).then(rest => {
  390. this.columns.push(rest.data)
  391. urbanAreas({
  392. parentCode: rest.data[0].id
  393. }).then(resth => {
  394. this.columns.push(resth.data)
  395. this.dropDown = true
  396. this.keyName = "name"
  397. uni.hideLoading();
  398. })
  399. })
  400. })
  401. this.show = true
  402. this.mask = true
  403. break;
  404. }
  405. },
  406. changeHandler(e) {
  407. const {
  408. columnIndex,
  409. index,
  410. // 微信小程序无法将picker实例传出来,只能通过ref操作
  411. picker = this.$refs.uPicker
  412. } = e
  413. if (this.screen[1] == "corpsTypeId") {
  414. if(e.value[e.columnIndex].hasChildren){
  415. if (e.columnIndex == 0) {
  416. uni.showLoading({
  417. title: '加载中',
  418. mask: true
  419. });
  420. customerType({
  421. parentId: e.value[e.columnIndex].id
  422. }).then(res => {
  423. picker.setColumnValues(1, res.data)
  424. if (res.data[0].hasChildren == true) {
  425. customerType({
  426. parentId: res.data[0].id
  427. }).then(rest => {
  428. picker.setColumnValues(2, rest.data)
  429. uni.hideLoading();
  430. })
  431. } else {
  432. uni.hideLoading();
  433. }
  434. })
  435. }
  436. if (e.columnIndex == 1) {
  437. uni.showLoading({
  438. title: '加载中',
  439. mask: true
  440. });
  441. customerType({
  442. parentId: e.value[e.columnIndex].id
  443. }).then(res => {
  444. picker.setColumnValues(2, res.data)
  445. uni.hideLoading();
  446. })
  447. }
  448. }else{
  449. if(e.columnIndex == 0){
  450. if(this.columns.length > 1){
  451. if(!e.value[e.columnIndex].hasChildren){
  452. let data = this.columns[0]
  453. this.columns = [data]
  454. }
  455. }
  456. }
  457. }
  458. }
  459. if (this.screen[1] == "addr") {
  460. if (e.columnIndex == 0) {
  461. uni.showLoading({
  462. title: '加载中',
  463. mask: true
  464. });
  465. urbanAreas({
  466. parentCode: e.value[e.columnIndex].id
  467. }).then(rest => {
  468. picker.setColumnValues(1, rest.data)
  469. urbanAreas({
  470. parentCode: rest.data[0].id
  471. }).then(resth => {
  472. picker.setColumnValues(2, resth.data)
  473. uni.hideLoading();
  474. })
  475. })
  476. }
  477. if (e.columnIndex == 1) {
  478. uni.showLoading({
  479. title: '加载中',
  480. mask: true
  481. });
  482. urbanAreas({
  483. parentCode: e.value[e.columnIndex].id
  484. }).then(rest => {
  485. picker.setColumnValues(2, rest.data)
  486. uni.hideLoading();
  487. })
  488. }
  489. }
  490. },
  491. // 确认选中
  492. confirm(e) {
  493. if (this.screen[1] == "addr") {
  494. this.formTwo.addr = e.value[0].name + e.value[1].name + e.value[2].name
  495. } else if (this.screen[1] == "corpsTypeId") {
  496. this.form[this.screen[0]] = e.value[e.values.length-1].title
  497. this.form[this.screen[1]] = e.value[e.values.length-1].id
  498. } else {
  499. this.formTwo[this.screen[0]] = e.value[0].cname
  500. this.formTwo[this.screen[1]] = e.value[0].id
  501. }
  502. this.dropDown = false
  503. this.mask = false
  504. this.columns = []
  505. },
  506. //删除地址
  507. address(index) {
  508. let this_ = this
  509. uni.showModal({
  510. title: '提示',
  511. content: '是否确认删除',
  512. success: function(rest) {
  513. if (rest.confirm == true) {
  514. if (this_.form.corpsAddrList[index].id) {
  515. uni.showLoading({
  516. title: '加载中',
  517. mask: true
  518. });
  519. removeAddr({
  520. ids: this_.form.corpsAddrList[index].id
  521. }).then(res => {
  522. this_.form.corpsAddrList.splice(index, 1);
  523. uni.hideLoading();
  524. })
  525. } else {
  526. this_.form.corpsAddrList.splice(index, 1);
  527. }
  528. }
  529. }
  530. })
  531. },
  532. //切换地址信息
  533. selected(type) {
  534. // this.addrType = type
  535. this.$set(this, 'addrType', type)
  536. this.formTwo = {}
  537. },
  538. //保存地址
  539. confirmSearch() {
  540. if (!this.formTwo.detailedAddress) {
  541. return uni.showToast({
  542. title: '请输入详细地址',
  543. icon: 'none',
  544. mask: true
  545. });
  546. }
  547. if (this.type) {
  548. this.form.corpsAddrList[this.iNdex] = {
  549. ...this.formTwo,
  550. type: this.addrType
  551. }
  552. this.type = false
  553. } else {
  554. this.form.corpsAddrList.push({
  555. ...this.formTwo,
  556. type: this.addrType
  557. })
  558. }
  559. this.formTwo = {}
  560. this.addrType = 0
  561. this.show = false
  562. this.mask = false
  563. },
  564. // 删除图片
  565. deletePic(event) {
  566. let this_ = this
  567. uni.showModal({
  568. title: '提示',
  569. content: '是否确认删除',
  570. success: function(rest) {
  571. if (rest.confirm == true) {
  572. if (this_[`fileList${event.name}`][event.index].id) {
  573. removeFile({
  574. ids: this_[`fileList${event.name}`][event.index].id
  575. }).then(res => {
  576. this_[`fileList${event.name}`].splice(event.index, 1)
  577. })
  578. } else {
  579. this_[`fileList${event.name}`].splice(event.index, 1)
  580. }
  581. }
  582. }
  583. })
  584. },
  585. // 新增图片
  586. async afterRead(event) {
  587. // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
  588. let lists = [].concat(event.file)
  589. let fileListLen = this[`fileList${event.name}`].length
  590. lists.map((item) => {
  591. this[`fileList${event.name}`].push({
  592. ...item,
  593. status: 'uploading',
  594. message: '上传中'
  595. })
  596. })
  597. for (let i = 0; i < lists.length; i++) {
  598. const result = await this.uploadFilePromise(lists[i].url)
  599. let item = this[`fileList${event.name}`][fileListLen]
  600. this[`fileList${event.name}`].splice(fileListLen, 1, Object.assign(item, {
  601. status: 'success',
  602. sort: this.fileList1.length,
  603. fileName: JSON.parse(result).data.originalName,
  604. url: JSON.parse(result).data.link
  605. }))
  606. fileListLen++
  607. }
  608. },
  609. uploadFilePromise(url) {
  610. return new Promise((resolve, reject) => {
  611. let a = uni.uploadFile({
  612. url: http.config.baseURL +
  613. '/blade-resource/oss/endpoint/put-file', // 仅为示例,非真实的接口地址
  614. filePath: url,
  615. name: 'file',
  616. formData: {
  617. user: 'test'
  618. },
  619. header: {
  620. // 客户端认证参数
  621. 'Authorization': 'Basic ' + Base64.encode(clientId + ':' + clientSecret),
  622. 'Blade-Auth': 'bearer ' + uni.getStorageSync('accessToken')
  623. },
  624. success: (res) => {
  625. setTimeout(() => {
  626. resolve(res.data)
  627. }, 1000)
  628. }
  629. });
  630. })
  631. },
  632. }
  633. }
  634. </script>
  635. <style lang="scss" scoped>
  636. .tl-show {
  637. overflow: hidden;
  638. position: fixed;
  639. height: 100%;
  640. width: 100%;
  641. }
  642. ::v-deep .u-cell__body {
  643. padding: 0rpx 25rpx;
  644. margin: 10rpx 0;
  645. }
  646. ::v-deep .u-cell__title-text {
  647. color: #244e96;
  648. }
  649. ::v-deep .u-form-item__body__left__content__label {
  650. color: #fd4b09;
  651. }
  652. .selectedAddress {
  653. border-bottom: 1rpx solid #fd4b09;
  654. color: #fd4b09;
  655. }
  656. </style>