index.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704
  1. <template>
  2. <view class="padding">
  3. <view style="padding-bottom: 20upx;color: red;" v-if="auditReason && shop.status == 2">{{auditReason}}</view>
  4. <view class="text-white padding bg radius">
  5. <u-form :model="shop" label-position="top">
  6. <u-form-item label="商铺主营类型">
  7. <u-input v-model="shop.shopTypeName" placeholder="请输入商铺主营类型" disabled @click="show = true" />
  8. </u-form-item>
  9. <u-form-item label="商铺名称">
  10. <u-input v-model="shop.name" placeholder="请填写 (必填)" />
  11. </u-form-item>
  12. <u-form-item label="省市区">
  13. <u-input v-model="shop.address" disabled placeholder="请填写" @click="bindOpen" />
  14. </u-form-item>
  15. <u-form-item label="商铺详细地址">
  16. <!-- <u-input v-model="shop.detailedAddress" placeholder="请填写" /> -->
  17. <textarea v-model="shop.detailedAddress" placeholder-style="color: #aaaaaa;font-size: 28rpx;"
  18. placeholder="请填写商铺详细地址" style="height: 120rpx;width: 100%;font-size: 28rpx;" />
  19. </u-form-item>
  20. </u-form>
  21. </view>
  22. <view class="text-white padding bg radius margin-top">
  23. <u-form :model="shop" label-position="top">
  24. <u-form-item label="联系人姓名">
  25. <u-input v-model="shop.userName" placeholder="请输入真实姓名" />
  26. </u-form-item>
  27. <u-form-item label="身份证号">
  28. <u-input v-model="shop.isNumber" maxlength="20" placeholder="请填写 (必填)" />
  29. </u-form-item>
  30. <u-form-item label="联系电话">
  31. <u-input v-model="shop.phone" disabled type="number" placeholder="请填写 (必填)" />
  32. </u-form-item>
  33. <u-form-item label="验证码" v-if="shop.status == null||shop.status == 2">
  34. <u-input v-model="shop.verCode" type="number" placeholder="请填写 (必填)"
  35. style="width: 50%;display: inline-block;" />
  36. <button class="send-msg" @click="sendMsg">{{sendTime}}</button>
  37. </u-form-item>
  38. </u-form>
  39. </view>
  40. <view class="text-white padding bg radius margin-tb">
  41. <view>
  42. <view class="text-lg margin-top-sm text-black">店铺logo</view>
  43. <view class="flex" style="overflow: hidden;flex-wrap: wrap;">
  44. <view v-if="detailsImg.length">
  45. <view class="margin-top flex margin-right-sm flex-wrap">
  46. <view class="flex"
  47. style="width: 200rpx;height: 200rpx;margin-right: 2rpx;position: relative;">
  48. <image :src="detailsImg" style="width: 100%;height: 100%;"></image>
  49. <view style="z-index: 9;position: absolute;top: -15rpx;right: -15rpx;"
  50. @click="removeImg(1)">
  51. <u-icon name="close-circle-fill" color="#2979ff" size="50rpx"></u-icon>
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. <view class="margin-top" @click="addImages(2)" v-if="detailsImg.length<=0">
  57. <view style="width: 200rpx;height: 200rpx;background: #f4f5f6;"
  58. class="flex justify-center align-center">
  59. <view>
  60. <view class="text-center">
  61. <image src="../static/apply/addimg.png" style="width: 65rpx;height: 55rpx;">
  62. </image>
  63. </view>
  64. <view class="text-center text-black">添加图片</view>
  65. </view>
  66. </view>
  67. </view>
  68. </view>
  69. </view>
  70. <view>
  71. <view class="text-lg margin-top-sm text-black">营业执照</view>
  72. <view class="flex" style="overflow: hidden;flex-wrap: wrap;">
  73. <view v-if="shop.business.length">
  74. <view class="margin-top flex margin-right-sm flex-wrap">
  75. <view class="flex"
  76. style="width: 200rpx;height: 200rpx;margin-right: 2rpx;position: relative;">
  77. <image :src="shop.business" style="width: 100%;height: 100%;"></image>
  78. <view style="z-index: 9;position: absolute;top: -15rpx;right: -15rpx;"
  79. @click="removeImgs(1)">
  80. <u-icon name="close-circle-fill" color="#2979ff" size="50rpx"></u-icon>
  81. </view>
  82. </view>
  83. </view>
  84. </view>
  85. <view class="margin-top" @click="addImage(1)" v-if="shop.business.length<=0">
  86. <view style="width: 200rpx;height: 200rpx;background: #f4f5f6;"
  87. class="flex justify-center align-center">
  88. <view>
  89. <view class="text-center">
  90. <image src="../static/apply/addimg.png" style="width: 65rpx;height: 55rpx;">
  91. </image>
  92. </view>
  93. <view class="text-center text-black">添加图片</view>
  94. </view>
  95. </view>
  96. </view>
  97. </view>
  98. </view>
  99. <view>
  100. <view class="text-lg margin-top-sm text-black">身份证正面</view>
  101. <view class="flex" style="overflow: hidden;flex-wrap: wrap;">
  102. <view v-if="shop.front.length">
  103. <view class="margin-top flex margin-right-sm flex-wrap">
  104. <view class="flex"
  105. style="width: 200rpx;height: 200rpx;margin-right: 2rpx;position: relative;">
  106. <image :src="shop.front" style="width: 100%;height: 100%;"></image>
  107. <view style="z-index: 9;position: absolute;top: -15rpx;right: -15rpx;"
  108. @click="removeImgs(2)">
  109. <u-icon name="close-circle-fill" color="#2979ff" size="50rpx"></u-icon>
  110. </view>
  111. </view>
  112. </view>
  113. </view>
  114. <view class="margin-top" @click="addImage(2)" v-if="shop.front.length<=0">
  115. <view style="width: 200rpx;height: 200rpx;background: #f4f5f6;"
  116. class="flex justify-center align-center">
  117. <view>
  118. <view class="text-center">
  119. <image src="../static/apply/addimg.png" style="width: 65rpx;height: 55rpx;">
  120. </image>
  121. </view>
  122. <view class="text-center text-black">添加图片</view>
  123. </view>
  124. </view>
  125. </view>
  126. </view>
  127. </view>
  128. <view>
  129. <view class="text-lg margin-top-sm text-black">身份证反面片</view>
  130. <view class="flex" style="overflow: hidden;flex-wrap: wrap;">
  131. <view v-if="shop.back.length">
  132. <view class="margin-top flex margin-right-sm flex-wrap">
  133. <view class="flex"
  134. style="width: 200rpx;height: 200rpx;margin-right: 2rpx;position: relative;">
  135. <image :src="shop.back" style="width: 100%;height: 100%;"></image>
  136. <view style="z-index: 9;position: absolute;top: -15rpx;right: -15rpx;"
  137. @click="removeImgs(3)">
  138. <u-icon name="close-circle-fill" color="#2979ff" size="50rpx"></u-icon>
  139. </view>
  140. </view>
  141. </view>
  142. </view>
  143. <view class="margin-top" @click="addImage(3)" v-if="shop.back.length<=0">
  144. <view style="width: 200rpx;height: 200rpx;background: #f4f5f6;"
  145. class="flex justify-center align-center">
  146. <view>
  147. <view class="text-center">
  148. <image src="../static/apply/addimg.png" style="width: 65rpx;height: 55rpx;">
  149. </image>
  150. </view>
  151. <view class="text-center text-black">添加图片</view>
  152. </view>
  153. </view>
  154. </view>
  155. </view>
  156. </view>
  157. </view>
  158. <u-button v-if="shop.status == null || shop.status == 2" @click="submit" class="margin-top"
  159. :custom-style="customStyle" shape="square" :hair-line="false">提交审核
  160. </u-button>
  161. <u-button v-if="shop.status == 0" class="margin-top" disabled :custom-style="customStyle" shape="square"
  162. :hair-line="false">审核中
  163. </u-button>
  164. <!-- 分类列表 -->
  165. <u-select v-model="show" :list="shopList" valueName='id' labelName="shopTypeName" @confirm="confirm"></u-select>
  166. </view>
  167. </template>
  168. <script>
  169. import configdata from '@/common/config.js';
  170. export default {
  171. data() {
  172. return {
  173. shop: {
  174. type: '',
  175. typeid: '',
  176. name: '',
  177. address: '',
  178. shopTypeName: '',
  179. detailedAddress: '',
  180. userName: '',
  181. isNumber: '',
  182. phone: '',
  183. verCode: '',
  184. latitude: '',
  185. longitude: '',
  186. //详情图
  187. detailsImg: [],
  188. business: '',
  189. front: '',
  190. back: ""
  191. },
  192. customStyle: {
  193. backgroundColor: '#FFCC00',
  194. color: '#000000',
  195. border: 0
  196. },
  197. status: 1,
  198. //详情图
  199. detailsImg: [],
  200. shopId: '',
  201. page: 1,
  202. limit: 100,
  203. show: false,
  204. shopList: [],
  205. city: '',
  206. province: '',
  207. district: '',
  208. auditReason: '',
  209. Settedlist: [],
  210. sending: false,
  211. sendTime: '获取验证码',
  212. count: 60,
  213. XCXIsSelect: '是',
  214. }
  215. },
  216. onLoad(option) {
  217. this.XCXIsSelect = this.$queue.getData('XCXIsSelect');
  218. if (this.XCXIsSelect == '否') {
  219. uni.setNavigationBarTitle({
  220. title: '隐私政策'
  221. });
  222. } else {
  223. uni.setNavigationBarTitle({
  224. title: '商家入驻'
  225. });
  226. }
  227. // uni.getLocation({
  228. // type: 'gcj02',
  229. // success: (res) => {
  230. // console.log(res.latitude);
  231. // console.log(res.longitude);
  232. // console.log("res___:" + JSON.stringify(res));
  233. // },
  234. // fail(e) {
  235. // console.log(e);
  236. // }
  237. // });
  238. // this.Settedlist = uni.getStorageSync("Settedlist")
  239. // if(this.Settedlist){
  240. // this.auditReason = this.Settedlist.auditReason
  241. // this.shop.name = this.Settedlist.shopName
  242. // this.shop.typeid = this.Settedlist.shopTypeId
  243. // this.shop.shopTypeName = this.Settedlist.shopTypeName
  244. // this.shop.address = this.Settedlist.province + this.Settedlist.city + this.Settedlist.district
  245. // this.shop.detailedAddress = this.Settedlist.detailedAddress
  246. // this.shop.latitude = this.Settedlist.shopLat
  247. // this.shop.longitude = this.Settedlist.shopLng
  248. // this.province = this.Settedlist.province
  249. // this.city = this.Settedlist.city
  250. // this.district = this.Settedlist.district
  251. // this.shop.userName =this.Settedlist.realName
  252. // this.shop.isNumber = this.Settedlist.identitycardNumber
  253. // this.shop.phone = this.Settedlist.phone
  254. // this.shop.business = this.Settedlist.businessLicense
  255. // this.shop.front = this.Settedlist.identitycardPro
  256. // this.shop.back = this.Settedlist.identitycardCon
  257. // this.shop.detailsImg = this.Settedlist.shopCover
  258. // this.detailsImg = this.Settedlist.shopCover.split(',')
  259. // }else{
  260. this.getShopList()
  261. // }
  262. this.getData()
  263. },
  264. onShow() {
  265. this.shop.phone = this.$queue.getData("phone");
  266. },
  267. onHide() {
  268. },
  269. methods: {
  270. getData() {
  271. this.$Request.get("/app/shop/selectShopByUserId").then(res => {
  272. if (res.code == 0 && res.data) {
  273. this.auditReason = res.data.auditReason
  274. this.shop.shopTypeName = res.data.shopTypeName
  275. this.shop.name = res.data.shopName
  276. this.shop.address = res.data.province + res.data.city + res.data.district
  277. this.shop.detailedAddress = res.data.detailedAddress
  278. this.shop.userName = res.data.realName
  279. this.shop.isNumber = res.data.identitycardNumber
  280. this.shop.phone = res.data.phone
  281. this.shop.detailsImg = res.data.shopCover //商铺图片
  282. this.detailsImg = res.data.shopCover.split(',')
  283. this.shop.business = res.data.businessLicense //营业执照
  284. this.shop.front = res.data.identitycardPro //身份证正面
  285. this.shop.back = res.data.identitycardCon //身份证反面
  286. this.shop.latitude = res.data.shopLat
  287. this.shop.longitude = res.data.shopLng
  288. this.province = res.data.province
  289. this.city = res.data.city
  290. this.district = res.data.district
  291. this.shop.status = res.data.status
  292. }
  293. });
  294. },
  295. confirm(e) {
  296. console.log(e)
  297. this.shop.shopTypeName = e[0].label
  298. this.shop.typeid = e[0].value
  299. },
  300. // 店铺列表
  301. getShopList() {
  302. let data = {
  303. page: this.page,
  304. limit: this.limit,
  305. }
  306. this.$Request.get("/app/shoptype/selectShopTypeList", data).then(res => {
  307. if (res.code == 0) {
  308. this.shopList = res.data.list
  309. }
  310. });
  311. },
  312. // 详情图删除
  313. removeImg(index) {
  314. this.detailsImg = ''
  315. },
  316. // 身份证 资格证删除
  317. removeImgs(index) {
  318. if (index == 1) {
  319. this.shop.business = ''
  320. } else if (index == 2) {
  321. this.shop.front = ''
  322. } else if (index == 3) {
  323. this.shop.back = ''
  324. }
  325. },
  326. bindOpen() {
  327. const that = this;
  328. uni.chooseLocation({
  329. success: function(res) {
  330. console.log('位置名称:' + res.name);
  331. console.log('详细地址:' + res.address);
  332. console.log('纬度:' + res.latitude);
  333. console.log('经度:' + res.longitude);
  334. that.shop.detailedAddress = res.address
  335. that.shop.latitude = res.latitude
  336. that.shop.longitude = res.longitude
  337. that.getcity(res.latitude, res.longitude)
  338. }
  339. });
  340. },
  341. getcity(latitude, longitude) {
  342. let data = {
  343. lat: latitude,
  344. lng: longitude,
  345. }
  346. this.$Request.get("/app/address/selectCity", data).then(res => {
  347. if (res.code == 0) {
  348. this.city = res.data.city
  349. this.province = res.data.province
  350. this.district = res.data.district
  351. this.shop.address = res.data.province + res.data.city + res.data.district
  352. }
  353. });
  354. },
  355. // 图片上传
  356. addImages(e) {
  357. let that = this
  358. uni.chooseImage({
  359. count: 1,
  360. sourceType: ['album', 'camera'],
  361. success: res => {
  362. for (let i = 0; i < res.tempFilePaths.length; i++) {
  363. that.$queue.showLoading("上传中...");
  364. uni.uploadFile({ // 上传接口
  365. url: that.config("APIHOST1") + '/alioss/upload', //真实的接口地址
  366. // url: 'https://jiazheng.xianmxkj.com/sqx_fast/alioss/upload',
  367. filePath: res.tempFilePaths[i],
  368. name: 'file',
  369. success: (uploadFileRes) => {
  370. // if (that.detailsImg.length < 6) {
  371. that.detailsImg = JSON.parse(uploadFileRes.data).data
  372. // }
  373. console.log(that.detailsImg)
  374. uni.hideLoading();
  375. }
  376. });
  377. }
  378. }
  379. })
  380. },
  381. // 图片上传
  382. addImage(e) {
  383. let that = this
  384. uni.chooseImage({
  385. count: 1,
  386. sourceType: ['album', 'camera'],
  387. success: res => {
  388. for (let i = 0; i < res.tempFilePaths.length; i++) {
  389. that.$queue.showLoading("上传中...");
  390. uni.uploadFile({ // 上传接口
  391. url: that.config("APIHOST1") + '/alioss/upload', //真实的接口地址
  392. // url: 'https://jiazheng.xianmxkj.com/sqx_fast/alioss/upload',
  393. filePath: res.tempFilePaths[i],
  394. name: 'file',
  395. success: (uploadFileRes) => {
  396. if (e == 1) {
  397. that.shop.business = JSON.parse(uploadFileRes.data).data
  398. } else if (e == 2) {
  399. that.shop.front = JSON.parse(uploadFileRes.data).data
  400. } else if (e == 3) {
  401. that.shop.back = JSON.parse(uploadFileRes.data).data
  402. }
  403. console.log(that.detailsImg)
  404. uni.hideLoading();
  405. }
  406. });
  407. }
  408. }
  409. })
  410. },
  411. config: function(name) {
  412. var info = null;
  413. if (name) {
  414. var name2 = name.split("."); //字符分割
  415. if (name2.length > 1) {
  416. info = configdata[name2[0]][name2[1]] || null;
  417. } else {
  418. info = configdata[name] || null;
  419. }
  420. if (info == null) {
  421. let web_config = cache.get("web_config");
  422. if (web_config) {
  423. if (name2.length > 1) {
  424. info = web_config[name2[0]][name2[1]] || null;
  425. } else {
  426. info = web_config[name] || null;
  427. }
  428. }
  429. }
  430. }
  431. return info;
  432. },
  433. // 发布
  434. submit() {
  435. console.log(this.detailsImg)
  436. this.shop.detailsImg = this.detailsImg
  437. this.shop.detailsImg = this.shop.detailsImg.toString();
  438. if (!this.shop.shopTypeName) {
  439. uni.showToast({
  440. title: '请填写商铺主营类型',
  441. icon: 'none',
  442. duration: 1000
  443. })
  444. return
  445. }
  446. if (!this.shop.name) {
  447. uni.showToast({
  448. title: '请填写商铺名称',
  449. icon: 'none',
  450. duration: 1000
  451. })
  452. return
  453. }
  454. if (!this.shop.address) {
  455. uni.showToast({
  456. title: '请填写商铺地址',
  457. icon: 'none',
  458. duration: 1000
  459. })
  460. return
  461. }
  462. if (!this.shop.detailedAddress) {
  463. uni.showToast({
  464. title: '请填写店铺详细地址',
  465. icon: 'none',
  466. duration: 1000
  467. })
  468. return
  469. }
  470. if (!this.shop.userName) {
  471. uni.showToast({
  472. title: '请填写真实姓名',
  473. icon: 'none',
  474. duration: 1000
  475. })
  476. return
  477. }
  478. if (!this.shop.isNumber) {
  479. uni.showToast({
  480. title: '请填写身份证号',
  481. icon: 'none',
  482. duration: 1000
  483. })
  484. return
  485. }
  486. if (!this.shop.phone) {
  487. uni.showToast({
  488. title: '请填写联系电话',
  489. icon: 'none',
  490. duration: 1000
  491. })
  492. return
  493. }
  494. if (!this.shop.verCode) {
  495. uni.showToast({
  496. title: '请填写验证码',
  497. icon: 'none',
  498. duration: 1000
  499. })
  500. return
  501. }
  502. if (!this.shop.detailsImg) {
  503. uni.showToast({
  504. title: '请上传商铺图片',
  505. icon: 'none',
  506. duration: 1000
  507. })
  508. return
  509. }
  510. if (!this.shop.business) {
  511. uni.showToast({
  512. title: '请上传营业执照',
  513. icon: 'none',
  514. duration: 1000
  515. })
  516. return
  517. }
  518. if (!this.shop.front) {
  519. uni.showToast({
  520. title: '请上传身份证正面',
  521. icon: 'none',
  522. duration: 1000
  523. })
  524. return
  525. }
  526. if (!this.shop.back) {
  527. uni.showToast({
  528. title: '请上传身份证反面',
  529. icon: 'none',
  530. duration: 1000
  531. })
  532. return
  533. }
  534. let data = {
  535. shopName: this.shop.name,
  536. shopTypeId: this.shop.typeid,
  537. shopTypeName: this.shop.shopTypeName,
  538. detailedAddress: this.shop.address,
  539. detailedAddress: this.shop.detailedAddress,
  540. shopLat: this.shop.latitude,
  541. shopLng: this.shop.longitude,
  542. province: this.province,
  543. city: this.city,
  544. district: this.district,
  545. realName: this.shop.userName,
  546. identitycardNumber: this.shop.isNumber,
  547. phone: this.shop.phone,
  548. code: this.shop.verCode,
  549. businessLicense: this.shop.business,
  550. identitycardPro: this.shop.front,
  551. identitycardCon: this.shop.back,
  552. shopCover: this.shop.detailsImg
  553. }
  554. // uni.setStorageSync('updataShopId', this.shop.shopId)
  555. this.$Request.postJson("/app/shop/insertShopAuthentication", data).then(res => {
  556. if (res.code == 0) {
  557. uni.showToast({
  558. title: '提交成功,等待审核通过',
  559. icon: 'none'
  560. })
  561. setTimeout(function() {
  562. uni.navigateBack()
  563. }, 1000)
  564. } else {
  565. uni.showToast({
  566. title: res.msg,
  567. icon: 'none'
  568. })
  569. }
  570. });
  571. },
  572. sendMsg() {
  573. // const {
  574. // phone
  575. // } = this.shop;
  576. if (this.sendTime != '获取验证码') {
  577. return;
  578. }
  579. console.log('this.shop.phone', this.shop.phone)
  580. if (!this.shop.phone) {
  581. this.$queue.showToast("请输入手机号");
  582. } else if (this.shop.phone.length !== 11) {
  583. this.$queue.showToast("请输入正确的手机号");
  584. } else {
  585. this.$queue.showLoading("正在发送验证码...");
  586. this.$Request.getT("/app/shop/sendMsgs/" + this.shop.phone + "/enter").then(res => {
  587. if (res.code === 0) {
  588. this.sending = true;
  589. this.$queue.showToast('验证码发送成功请注意查收');
  590. this.countDown();
  591. uni.hideLoading();
  592. } else {
  593. uni.hideLoading();
  594. uni.showModal({
  595. showCancel: false,
  596. title: '短信发送失败',
  597. content: res.msg ? res.msg : '请一分钟后再获取验证码'
  598. });
  599. }
  600. });
  601. }
  602. },
  603. countDown() {
  604. const {
  605. count
  606. } = this;
  607. if (count === 1) {
  608. this.count = 60;
  609. this.sending = false;
  610. this.sendTime = '获取验证码'
  611. } else {
  612. this.count = count - 1;
  613. this.sending = true;
  614. this.sendTime = count - 1 + '秒后重新获取';
  615. setTimeout(this.countDown.bind(this), 1000);
  616. }
  617. },
  618. },
  619. }
  620. </script>
  621. <style>
  622. page {
  623. background-color: #F5F5F5;
  624. }
  625. .bg {
  626. background-color: #FFFFFF;
  627. }
  628. textarea::-webkit-input-placeholder {
  629. color: #303133;
  630. font-size: 20rpx;
  631. }
  632. textarea:-moz-placeholder {
  633. color: #303133;
  634. font-size: 20rpx;
  635. }
  636. textarea::-moz-placeholder {
  637. color: #303133;
  638. font-size: 20rpx;
  639. }
  640. textarea::-ms-input-placeholder {
  641. color: #303133;
  642. font-size: 20rpx;
  643. }
  644. .tabBox {
  645. border: 1rpx solid #999999;
  646. padding: 15rpx 20rpx;
  647. border-radius: 15rpx;
  648. font-size: 28rpx;
  649. }
  650. .btnnum {
  651. color: #005DFF;
  652. border: 1rpx solid #005DFF;
  653. }
  654. .send-msg {
  655. border-radius: 30px;
  656. color: #FFFFFF;
  657. /*#FCD202 */
  658. background: #FCD202;
  659. height: 60rpx;
  660. font-size: 28rpx;
  661. line-height: 60rpx;
  662. display: inline-block;
  663. width: 45%;
  664. margin-left: 4%;
  665. position: relative;
  666. top: 20rpx;
  667. }
  668. </style>