1
0

apply.vue 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820
  1. <template>
  2. <app-layout>
  3. <view v-if="middleman.status == 0" class="wait">
  4. <image :src="bonusImg.wait"></image>
  5. <view>谢谢您的支持,请等待审核...</view>
  6. <view class="app-button">
  7. <app-button :theme="getTheme" color="#fff" @click="toIndex" arrangement="row" type="important" round width="320">
  8. <text class="app-text">去商城逛逛</text>
  9. </app-button>
  10. </view>
  11. </view>
  12. <view v-else-if="middleman.status == 1" class="success">
  13. <image :src="bonusImg.success"></image>
  14. <view class="success-text">您已成为团长</view>
  15. <view class="app-button">
  16. <app-button :theme="getTheme" color="#fff" @click="toCommunity" arrangement="row" type="important" round width="320">
  17. <text class="app-text">团长中心</text>
  18. </app-button>
  19. </view>
  20. </view>
  21. <view v-else-if="middleman.status == -1" class="pay">
  22. <app-head :theme="getTheme"></app-head>
  23. <view class="pay-view">
  24. <image class="money-icon" src="./../image/money.png"></image>
  25. <view class="money-name">{{setting.apply_money_name}}</view>
  26. <view>商家设置了加入门槛,你需要支付相应费用</view>
  27. <view class="pay-price">¥<text>{{middleman.pay_price}}</text></view>
  28. </view>
  29. <view class="app-button">
  30. <app-button :theme="getTheme" color="#fff" @click="middlemanPay" roundSize="40rpx" arrangement="row" type="important" round>
  31. <text class="app-text">确认支付</text>
  32. </app-button>
  33. </view>
  34. </view>
  35. <view v-else-if="middleman.status == 3" class="refuse">
  36. <image src="./../image/refuse.png"></image>
  37. <view>您被解除{{setting.middleman}}身份</view>
  38. <view class="refuse-info">
  39. <view>审核时间:
  40. <text>{{middleman.apply_at}}</text>
  41. </view>
  42. <view class="refuse-reason">解除理由:
  43. <text style="word-wrap:break-word;">{{middleman.reason ? middleman.reason :"无"}}</text>
  44. </view>
  45. <view class="app-button">
  46. <app-button :theme="getTheme" color="#fff" @click="reApply" arrangement="row" type="important" round width="320">
  47. <text class="app-text">再次申请</text>
  48. </app-button>
  49. </view>
  50. </view>
  51. </view>
  52. <view v-else-if="middleman.status == 2" class="refuse">
  53. <image src="./../image/refuse.png"></image>
  54. <view>您的申请被拒</view>
  55. <view class="refuse-info">
  56. <view>审核时间:
  57. <text>{{middleman.apply_at}}</text>
  58. </view>
  59. <view class="refuse-reason">拒绝理由:
  60. <text style="word-wrap:break-word;">{{middleman.reason ? middleman.reason :"无"}}</text>
  61. </view>
  62. <view class="app-button">
  63. <app-button :theme="getTheme" color="#fff" @click="reApply" arrangement="row" type="important" round>
  64. <text class="app-text">再次申请</text>
  65. </app-button>
  66. </view>
  67. </view>
  68. </view>
  69. <view v-else-if="middleman.status == -2">
  70. <app-head :theme="getTheme"></app-head>
  71. <view class="title">
  72. <view class="big-title-text">{{setting.middleman}}信息</view>
  73. <view>用于商品配送管理,请填写真实信息</view>
  74. </view>
  75. <view class="app-view">
  76. <view class="app-line main-between cross-center">
  77. <text class="app-text box-grow-0">姓名</text>
  78. <view class="address-input" style="opacity: 0.3" v-if="address">{{form.name}}</view>
  79. <input v-else placeholder-style="color:#cdcdcd" placeholder="请输入姓名" maxlength="10" class="address-input" type="text" v-model="form.name" />
  80. </view>
  81. <view class="app-line main-between cross-center">
  82. <text class="app-text box-grow-0">手机号</text>
  83. <view class="address-input" style="opacity: 0.3" v-if="address">{{form.mobile}}</view>
  84. <input v-else placeholder-style="color:#cdcdcd" placeholder="请输入手机号" maxlength="11" class="address-input" type="number" v-model="form.mobile" />
  85. </view>
  86. <view class="app-line main-between cross-center">
  87. <text class="app-text box-grow-0">省市区</text>
  88. <view class="box-grow-1 area-left">
  89. <app-area-picker @customevent="areaEvent"
  90. :ids="[form.province_id,form.city_id,form.district_id]"></app-area-picker>
  91. </view>
  92. </view>
  93. <!-- #ifndef MP-TOUTIAO -->
  94. <view v-if="is_refund_address == 0" class="app-line main-between cross-center">
  95. <text class="app-text box-grow-0">所在地区</text>
  96. <view class="h-100 main-right dir-left-nowrap cross-center box-grow-1" @click="getChooseLocation" :style="{'opacity': address ? '0.3' : '1'}">
  97. <view class="box-grow-0 c-address t-omit" :class="{'placeholder':!location}">{{location ? location : '请选择所在地区'}}</view>
  98. <image src="/static/image/icon/arrow-right.png" class="box-grow-0 icon-arrow-image"></image>
  99. </view>
  100. </view>
  101. <!-- #endif -->
  102. <view class="app-line main-between cross-center">
  103. <text class="app-text box-grow-0">提货地址</text>
  104. <input placeholder-style="color:#cdcdcd" placeholder="请输入详细提货地址" class="address-input" type="text" :focus="focus" @blur="focus = false" v-model="form.detail" />
  105. </view>
  106. </view>
  107. <view class="app-button">
  108. <app-button v-if="address" :theme="getTheme" color="#fff" @click="saveAddress" arrangement="row" type="important" round width="90%">
  109. <text class="app-text">保存</text>
  110. </app-button>
  111. <app-button v-else :theme="getTheme" color="#fff" @click="submit" arrangement="row" type="important" round width="90%">
  112. <text class="app-text">下一步</text>
  113. </app-button>
  114. </view>
  115. </view>
  116. </app-layout>
  117. </template>
  118. <script>
  119. import {mapGetters, mapState} from 'vuex';
  120. import appAreaPicker from '../../../components/page-component/app-area-picker/app-area-picker.vue';
  121. import appHead from '../components/app-head.vue';
  122. import appTextArea from '../../../components/basic-component/app-textarea/app-textarea.vue';
  123. export default {
  124. data() {
  125. return {
  126. wait: false,
  127. middleman: {
  128. status: 99
  129. },
  130. id: null,
  131. form: {
  132. location: '',
  133. latitude: '',
  134. longitude: '',
  135. name: '',
  136. mobile: '',
  137. province_id: 0,
  138. city_id: 0,
  139. district_id: 0,
  140. detail: '',
  141. },
  142. location: '',
  143. setting: {
  144. middleman: ''
  145. },
  146. is_refund_address: 0,
  147. detail_url: '',
  148. list: [],
  149. submit_status: false,
  150. automatic: '',
  151. province: [],
  152. focus: false,
  153. address: false,
  154. }
  155. },
  156. computed: {
  157. ...mapGetters('mallConfig', {
  158. getTheme: 'getTheme',
  159. }),
  160. ...mapState({
  161. community: state => state.mallConfig.__wxapp_img.community,
  162. bonusImg: state => state.mallConfig.__wxapp_img.bonus,
  163. })
  164. },
  165. components: {appAreaPicker, appTextArea, appHead},
  166. onLoad: function (options) {
  167. if(options.id > 0) {
  168. this.address = true;
  169. }
  170. this.getPlace();
  171. this.getStatus();
  172. },
  173. methods: {
  174. areaEvent(data) {
  175. if (data) {
  176. this.form.province_id = data.province.id;
  177. this.form.city_id = data.city.id;
  178. this.form.district_id = data.district.id;
  179. }
  180. },
  181. toCommunity() {
  182. uni.navigateTo({
  183. url: '/plugins/community/index/index'
  184. });
  185. },
  186. toIndex() {
  187. uni.navigateTo({
  188. url: '/pages/index/index'
  189. });
  190. },
  191. reApply() {
  192. let that = this;
  193. that.middleman.status = -2;
  194. },
  195. middlemanPay() {
  196. let that = this;
  197. if(that.id > 0) {
  198. that.pay(that.id);
  199. return false;
  200. }
  201. that.$request({
  202. url: that.$api.community.apply_pay,
  203. data: {
  204. id: that.middleman.id
  205. }
  206. }).then(response=>{
  207. if(response.code == 0) {
  208. that.pay(response.data.id);
  209. }else {
  210. uni.showToast({
  211. title: response.msg,
  212. icon: 'none',
  213. duration: 1000
  214. });
  215. }
  216. }).catch(response => {
  217. that.$hideLoading();
  218. });
  219. },
  220. getStatus() {
  221. let that = this;
  222. that.$request({
  223. url: that.$api.community.index,
  224. }).then(response=>{
  225. that.$hideLoading();
  226. if(response.code == 0) {
  227. that.setting = response.data.setting;
  228. uni.setNavigationBarTitle({
  229. title: '申请' + that.setting.middleman,
  230. })
  231. if(response.data.middleman.id > 0) {
  232. that.middleman = response.data.middleman;
  233. if(that.address) {
  234. that.middleman.status = -2;
  235. that.form = response.data.middleman;
  236. if(that.form.province == that.form.city) {
  237. that.location = that.form.province + ' ' + that.form.district + ' ' + that.form.location;
  238. }else {
  239. that.location = that.form.province + ' ' + that.form.city + ' ' + that.form.district + ' ' + that.form.location;
  240. }
  241. uni.setNavigationBarTitle({
  242. title: '填写' + that.setting.middleman +'信息',
  243. })
  244. }
  245. }else {
  246. that.middleman.status = -2;
  247. }
  248. }else {
  249. uni.showToast({
  250. title: response.msg,
  251. icon: 'none',
  252. duration: 1000
  253. });
  254. }
  255. }).catch(() => {
  256. that.$hideLoading();
  257. });
  258. },
  259. getPlace() {
  260. let that = this;
  261. that.$request({
  262. url: that.$api.city.cityName,
  263. }).then(response=>{
  264. if(response.code === 0) {
  265. that.province = response.data.list;
  266. }else {
  267. uni.showToast({
  268. title: response.msg,
  269. icon: 'none',
  270. duration: 1000
  271. });
  272. }
  273. })
  274. },
  275. // #ifndef MP-TOUTIAO
  276. async getChooseLocation() {
  277. const self = this;
  278. if(self.address) {
  279. return false
  280. }
  281. const [err, res] = await uni.chooseLocation();
  282. if (res) {
  283. let province = '';
  284. let city = '';
  285. let area = '';
  286. let name = res.name;
  287. // #ifdef MP-ALIPAY
  288. if(res.provinceName == '上海') {
  289. res.provinceName = '上海市'
  290. }
  291. if(res.provinceName == '澳门特别行政区' || res.provinceName == '香港特别行政区' || res.provinceName == '台湾省') {
  292. uni.showToast({
  293. title: '不支持该地区',
  294. icon: 'none'
  295. });
  296. return false;
  297. }
  298. res.address = res.address.replace(res.provinceName,'');
  299. res.address = res.address.replace(res.cityName,'');
  300. res.address = res.address.replace(res.adName,'');
  301. name = res.name ? res.name : res.address;
  302. res.address = res.provinceName + res.cityName + res.adName + name;
  303. if(!(res.adCode > 0)) {
  304. res.address = '其他其他其他'
  305. }
  306. // #endif
  307. if(!res.address) {
  308. res.address = '其他其他其他'
  309. }
  310. res.address = res.address.replace('北京市北京市','北京市');
  311. res.address = res.address.replace('天津市天津市','天津市');
  312. res.address = res.address.replace('上海市上海市','上海市');
  313. res.address = res.address.replace('重庆市重庆市','重庆市');
  314. res.address = res.address.replace('香港特别行政区香港特别行政区','香港特别行政区');
  315. res.address = res.address.replace('澳门特别行政区澳门特别行政区','澳门特别行政区');
  316. for(let i in self.province) {
  317. if(res.address.indexOf(self.province[i].name) == 0) {
  318. province = self.province[i].name != 'undefined' ? self.province[i].name : '';
  319. self.form.province_id = self.province[i].id;
  320. if(province != '北京市' && province != '天津市' && province != '上海市' && province != '重庆市' && province != '澳门特别行政区' && province != '香港特别行政区') {
  321. res.address = res.address.replace(province,'');
  322. }
  323. for(let j in self.province[i].list) {
  324. if(res.address.indexOf(self.province[i].list[j].name) == 0 && self.province[i].list[j].parent_id == self.province[i].id) {
  325. city = self.province[i].list[j].name != 'undefined' ? self.province[i].list[j].name : '';
  326. self.form.city_id = self.province[i].list[j].id;
  327. res.address = res.address.replace(city,'');
  328. for(let x in self.province[i].list[j].list) {
  329. if(res.address.indexOf(self.province[i].list[j].list[x].name) == 0 && self.province[i].list[j].list[x].parent_id == self.province[i].list[j].id && self.province[i].list[j].list[x].provinceCode == self.province[i].code) {
  330. area = self.province[i].list[j].list[x].name != 'undefined' ? self.province[i].list[j].list[x].name : '';
  331. self.form.district_id = self.province[i].list[j].list[x].id;
  332. }
  333. }
  334. }
  335. }
  336. }
  337. }
  338. if(!province || !area || !name) {
  339. self.form.province_id = ''
  340. self.form.city_id = ''
  341. self.form.district_id = ''
  342. }
  343. if(province == city) {
  344. self.location = province + ' ' + area + ' ' + name;
  345. }else {
  346. self.location = province + ' ' + city + ' ' + area + ' ' + name;
  347. }
  348. self.form.location = name;
  349. self.form.latitude = res.latitude;
  350. self.form.longitude = res.longitude;
  351. }
  352. if (err) {
  353. const setting = () => {
  354. uni.showModal({
  355. title: '授权权限',
  356. content: '请先授权地理位置权限',
  357. success(res) {
  358. if (res.confirm) {
  359. uni.openSetting({
  360. success(settingdata) {
  361. if (settingdata.authSetting['scope.userLocation']) {
  362. uni.chooseLocation({
  363. success: function (res) {
  364. self.getChooseLocation();
  365. },
  366. });
  367. } else {
  368. uni.showToast({
  369. title: '授权失败',
  370. icon: 'none'
  371. });
  372. }
  373. }
  374. })
  375. }
  376. }
  377. })
  378. };
  379. //#ifdef MP-BAIDU
  380. if (err.errCode === 1003) {
  381. setting();
  382. }
  383. //#endif
  384. //#ifdef MP-WEIXIN
  385. if (err.errMsg === `chooseLocation:fail auth deny`) {
  386. setting();
  387. }
  388. //#endif
  389. }
  390. },
  391. // #endif
  392. getInfo(detail) {
  393. this.$request({
  394. url: this.$api.user.wechat_district,
  395. data: {
  396. province_name: detail.address[0],
  397. city_name: detail.address[1],
  398. county_name: detail.address[2],
  399. },
  400. }).then(info => {
  401. if (info.code === 0) {
  402. const {province, city, district} = info.data.district;
  403. detail.province_id = province.id;
  404. detail.city_id = city.id;
  405. detail.district_id = district.id;
  406. this.form = detail;
  407. }
  408. }).catch(() => {
  409. uni.showToast({
  410. title: '网络异常',
  411. icon: 'none',
  412. });
  413. })
  414. },
  415. areaEvent(data) {
  416. if (data) {
  417. this.form.province_id = data.province.id;
  418. this.form.city_id = data.city.id;
  419. this.form.district_id = data.district.id;
  420. this.list = [data.province.name, data.city.name, data.district.name];
  421. }
  422. },
  423. saveAddress() {
  424. let that = this;
  425. if (!this.form.detail) {
  426. uni.showToast({
  427. title: '提货地址不能为空',
  428. icon: 'none',
  429. });
  430. return false
  431. }
  432. if (!this.form.province_id || !this.form.city_id || !this.form.district_id) {
  433. uni.showToast({
  434. title: '提货地址不能为空',
  435. icon: 'none',
  436. });
  437. return false
  438. }
  439. that.$request({
  440. url: that.$api.community.edit_address,
  441. data: {
  442. detail: that.form.detail
  443. },
  444. method: 'post'
  445. }).then(response=>{
  446. uni.showToast({
  447. title: response.msg,
  448. icon: 'none',
  449. duration: 1000
  450. });
  451. if(response.code == 0) {
  452. setTimeout(()=>{
  453. uni.navigateBack({});
  454. },1000)
  455. }
  456. }).catch(response => {
  457. that.$hideLoading();
  458. });
  459. },
  460. async submit() {
  461. try {
  462. if (this.submit_status) return;
  463. let content;
  464. if (!this.form.detail) {
  465. content = '提货地址不能为空';
  466. }
  467. if (!this.form.location) {
  468. content = '所在地区不能为空';
  469. }
  470. if (!this.form.mobile) {
  471. content = '手机号不能为空';
  472. }
  473. if (!this.form.name) {
  474. content = '姓名不能为空';
  475. }
  476. if (content) {
  477. uni.showToast({
  478. title: content,
  479. icon: 'none'
  480. });
  481. return;
  482. }
  483. this.submit_status = true;
  484. let url = this.$api.community.apply;
  485. let para = this.form;
  486. if (this.is_refund_address > 0) {
  487. url = this.$api.app_admin.refund_address_edit;
  488. let {id, name, mobile, detail} = this.form;
  489. para = {
  490. form: JSON.stringify({
  491. id,
  492. name,
  493. mobile,
  494. address_detail: detail,
  495. address: this.list,
  496. is_default: 0,
  497. remark: ''
  498. })
  499. }
  500. }
  501. const info = await this.$request({
  502. url: url,
  503. data: para,
  504. method: 'POST',
  505. });
  506. this.submit_status = false;
  507. if (info.code === 0) {
  508. let queue_id = info.data.queue_id;
  509. let token = info.data.token;
  510. this.getResult(queue_id, token)
  511. } else {
  512. uni.showToast({title: info.msg, icon: 'none'});
  513. }
  514. } catch (e) {
  515. this.submit_status = false;
  516. throw new Error(e);
  517. }
  518. },
  519. getResult(queue_id,token) {
  520. this.$request({
  521. url: this.$api.community.apply_result,
  522. data: {
  523. queue_id: queue_id,
  524. token: token,
  525. },
  526. }).then(response => {
  527. if (response.code === 0) {
  528. if (response.data.retry && response.data.retry === 1) {
  529. this.getPayDataTimer = setTimeout(() => {
  530. this.getResult(queue_id, token);
  531. }, 1000);
  532. } else {
  533. uni.hideLoading();
  534. if(response.data.id > 0) {
  535. this.id = response.data.id
  536. }
  537. this.getStatus();
  538. }
  539. } else {
  540. this.exchangeCoupon = false;
  541. uni.hideLoading();
  542. uni.showModal({
  543. title: '提示',
  544. content: response.msg,
  545. showCancel: false,
  546. });
  547. }
  548. }).catch(e => {
  549. this.exchangeCoupon = false;
  550. uni.hideLoading();
  551. uni.showModal({
  552. title: '提示',
  553. content: e.errMsg,
  554. showCancel: false,
  555. });
  556. });
  557. },
  558. pay(id) {
  559. this.$payment.pay(id).then(res => {
  560. this.getStatus();
  561. }).catch(() => {
  562. uni.showToast({
  563. title: '支付失败',
  564. icon: 'none',
  565. duration: 1000
  566. });
  567. });
  568. },
  569. detailFocus() {
  570. this.focus = true;
  571. }
  572. }
  573. }
  574. </script>
  575. <style scoped lang="scss">
  576. .success {
  577. position: absolute;
  578. left: 0;
  579. top: 0;
  580. width: 100%;
  581. height: 100%;
  582. background-color: #fff;
  583. text-align: center;
  584. .success-text {
  585. margin: #{-20rpx} auto #{30rpx};
  586. color: #353535;
  587. font-size: #{40rpx};
  588. }
  589. image {
  590. height: #{270rpx};
  591. width: #{380rpx};
  592. margin: #{120rpx} auto #{60rpx};
  593. }
  594. .app-button {
  595. margin: #{24rpx} auto;
  596. width: #{320rpx};
  597. }
  598. }
  599. .pay {
  600. font-size: #{36rpx};
  601. color: #353535;
  602. text-align: center;
  603. position: absolute;
  604. top: 0;
  605. left: 0;
  606. width: 100%;
  607. height: 100%;
  608. background-color: #fff;
  609. .pay-view {
  610. .money-icon {
  611. width: #{93rpx};
  612. height: #{93rpx};
  613. border-radius: 50%;
  614. margin-bottom: #{20rpx};
  615. }
  616. .money-name {
  617. font-size: #{34rpx};
  618. margin-bottom: #{10rpx};
  619. }
  620. .pay-price {
  621. margin-top: #{150rpx};
  622. color: #353535;
  623. font-size: #{50rpx};
  624. text {
  625. font-size: #{70rpx};
  626. }
  627. }
  628. margin-top: #{-324rpx};
  629. color: #fff;
  630. font-size: #{26rpx};
  631. }
  632. }
  633. .refuse {
  634. font-size: #{36rpx};
  635. color: #353535;
  636. text-align: center;
  637. top: 0;
  638. left: 0;
  639. width: 100%;
  640. height: 100%;
  641. background-color: #fff;
  642. position: absolute;
  643. image {
  644. height: #{160rpx};
  645. width: #{160rpx};
  646. margin: #{80rpx} auto #{40rpx};
  647. }
  648. view {
  649. margin-bottom:#{25rpx};
  650. }
  651. .refuse-reason {
  652. margin:#{10rpx} 0 #{76rpx};
  653. }
  654. .refuse-info {
  655. font-size: #{28rpx};
  656. color: #999;
  657. border-top: #{1rpx} solid #e2e2e2;
  658. width: #{520rpx};
  659. margin: 0 auto;
  660. margin-bottom: 0;
  661. padding-top: #{30rpx};
  662. padding-left: #{20rpx};
  663. text-align: left;
  664. text {
  665. color: #666;
  666. }
  667. }
  668. .app-button {
  669. margin: #{24rpx} auto;
  670. width: #{320rpx};
  671. }
  672. }
  673. .wait {
  674. color: #666;
  675. font-size: #{32rpx};
  676. text-align: center;
  677. position: absolute;
  678. top: 0;
  679. left: 0;
  680. width: 100%;
  681. height: 100%;
  682. background-color: #fff;
  683. view {
  684. margin-bottom: #{68rpx};
  685. }
  686. image {
  687. height: #{270rpx};
  688. width: #{380rpx};
  689. margin: #{120rpx} auto #{60rpx};
  690. }
  691. .app-button {
  692. margin: #{24rpx} auto;
  693. width: #{320rpx};
  694. }
  695. }
  696. .title {
  697. font-size: #{26rpx};
  698. color: #fff;
  699. margin-top: #{-360rpx};
  700. text-align: center;
  701. height: #{160rpx};
  702. padding-top: #{30rpx};
  703. .big-title-text {
  704. font-size: #{34rpx};
  705. margin: 0 0 #{12rpx};
  706. }
  707. }
  708. .popup {
  709. position: fixed;
  710. background: rgba(0, 0, 0, 0.5);
  711. padding: #{50rpx};
  712. top: 0;
  713. left: 0;
  714. right: 0;
  715. bottom: 0;
  716. z-index: 2000;
  717. .textarea {
  718. width: 100%;
  719. background: #fff;
  720. border: #{1rpx} solid #ccc;
  721. z-index: 1;
  722. padding: #{24rpx};
  723. border-radius: #{5rpx};
  724. }
  725. .c {
  726. position: fixed;
  727. left: 0;
  728. top: 0;
  729. right: 0;
  730. bottom: 0;
  731. z-index: 0;
  732. }
  733. }
  734. .h-100 {
  735. height: 100%;
  736. }
  737. .app-button {
  738. margin: #{40rpx} #{24rpx};
  739. color: #fff;
  740. text {
  741. color: #fff!important;
  742. }
  743. }
  744. .address-input {
  745. width: #{580rpx};
  746. font-size: #{28rpx};
  747. color: #353535;
  748. }
  749. .area-left {
  750. text-align: text;
  751. margin-left: auto;
  752. }
  753. .app-view {
  754. background-color: #ffffff;
  755. position: relative;
  756. z-index: 10;
  757. width: #{702rpx};
  758. margin: 0 auto;
  759. border-radius: #{16rpx};
  760. .app-line {
  761. height: #{118rpx};
  762. line-height: #{118rpx};
  763. padding: #{0 32rpx 0 0};
  764. text.app-text {
  765. font-size: #{28rpx};
  766. color: $uni-important-color-black;
  767. width: #{140rpx};
  768. margin-right: #{20rpx};
  769. text-align: right;
  770. flex-shrink: 0;
  771. }
  772. }
  773. .c-address {
  774. padding-right: #{24rpx};
  775. font-size: #{28rpx};
  776. color: #353535;
  777. width: #{500rpx};
  778. height: 100%;
  779. &.placeholder {
  780. color: #cdcdcd;
  781. }
  782. }
  783. .icon-arrow-image {
  784. width: #{12rpx};
  785. height: #{24rpx};
  786. }
  787. .tip {
  788. padding: #{0 24rpx 24rpx 24rpx};
  789. background: #ffffff;
  790. color: #b7b7b7;
  791. }
  792. }
  793. </style>