index.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774
  1. <template>
  2. <view class="contentColumn">
  3. <customNav :shownav="false" title="" titledetl="" tinColor="#006AFF"></customNav>
  4. <view class="topContentV">
  5. <view style=" padding-top: 40rpx; width: 100%;;background-color: #006AFF;">
  6. <view class="contentInRowS" style="padding-left: 30rpx;">
  7. <view class="">
  8. <view class="contentInRowL" style="padding-left: 3%;">
  9. <view class="IconImgV" @click="gotoUserCenter">
  10. <image class="IconImg" src="/static/imags/geren@3x.png" mode="scaleToFill"></image>
  11. </view>
  12. <view v-if="isOnline" class="stateView" @click="changeState">
  13. <image class="dgImg" src="/static/imags/dagou@3x.png" mode="scaleToFill"></image>
  14. <text style="color: white;font-size: 28rpx;">{{$t('user.shangxianzh')}}</text>
  15. </view>
  16. <view v-if="!isOnline" class="stateView" @click="changeState">
  17. <image class="dgImg" src="/static/imags/xiaxian@3x.png" mode="scaleToFill"></image>
  18. <text style="color: white;font-size: 28rpx;">{{$t('user.xiaxianzh')}}</text>
  19. </view>
  20. </view>
  21. </view>
  22. <!-- <view class="contentInRowR" style="margin-right: 3%;">
  23. <view class="contentColumnC">
  24. <view class="IconImgVC" @click="gotoxiaoxi">
  25. <image class="IconImgC" src="/static/imags/dache/dache@3x.png" mode="scaleToFill"></image>
  26. </view>
  27. <text style="color: white;font-size: 24rpx;">专车订单</text>
  28. </view>
  29. </view> -->
  30. </view>
  31. </view>
  32. <view class="toptalbarCT">
  33. <view class="toptalbar">
  34. <view v-for="(item,index) in tableList">
  35. <image v-if="index==4" :class="index==toptableindex?'luxianImagSele':'luxianImag'" src="/static/imags/luxian@3x.png" mode=""></image>
  36. <text :class="index==toptableindex?'tableLab tableselect':'tableLab'" :style="" @click="tableselct(item.value,index)">{{item.text}}</text>
  37. <image v-if="index==0" :class="index==toptableindex?'luxianImagSele':'luxianImag'" src="/static/imags/faburenwu@3x.png" mode=""></image>
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. <view style="margin-top: 240rpx;">
  43. <view v-if="!isLogin" class="contentColumn weidenglu">
  44. <view class="contentColumnC" style="width: 90%;margin-left: 5%;">
  45. <text class="xuacyuA"> </text>
  46. </view>
  47. <view class="texing" style="justify-content: flex-start;">
  48. <view class="contentInRowL" style="align-items: center;">
  49. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="checkbox" size="22"></uni-icons>
  50. <text>{{$t('user.hailiangdd')}}</text>
  51. </view>
  52. <view class="contentInRowL" style="align-items: center;margin-top: 20rpx;">
  53. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="checkbox" size="22"></uni-icons>
  54. <text>{{$t('user.caozuojid')}}</text>
  55. </view>
  56. <view class="contentInRowL" style="align-items: center;margin-top: 20rpx;">
  57. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="checkbox" size="22"></uni-icons>
  58. <text>{{$t('user.shirkek')}}</text>
  59. </view>
  60. </view>
  61. </view>
  62. <view v-if="!isLogin">
  63. <view class="contentColumnC" style="margin-top: 40rpx;width: 90%;margin-left: 5%;font-size: 30rpx;">
  64. <text>CTE.partner</text>
  65. <text>{{$t('user.chengyaojm')}}</text>
  66. </view>
  67. </view>
  68. <view v-if="isLogin" style="width: 100%;margin-bottom: 160rpx;">
  69. <orderItem v-if="toptableindex==0" :qsId="userInfo.userId" :orderList="orderList" v-on:ErefleshList="refleshList"></orderItem>
  70. <orderItemA v-if="toptableindex==1" :qsId="userInfo.userId" :orderList="orderList" v-on:ErefleshList="refleshList"></orderItemA>
  71. <orderItemB v-if="toptableindex==2" :qsId="userInfo.userId" :orderList="orderList" v-on:ErefleshList="refleshList"></orderItemB>
  72. <orderItemC v-if="toptableindex==3" :qsId="userInfo.userId" :orderList="orderList" v-on:ErefleshList="refleshList"></orderItemC>
  73. </view>
  74. <view class="bottomfloatV">
  75. <view class="contentInRowL">
  76. <!-- <view class="contentColumnC" style="margin:20rpx;" @click="gotojiedanshez">
  77. <image class="setImg" src="/static/imags/setImg@3x.png" mode="scaleToFill"></image>
  78. <label class="jiedanText">{{$t('user.jiedanshezhi')}}</label>
  79. </view> -->
  80. <view class="contentInRowC" @click="refleshdata" style="width:80%;height: 76rpx;border-radius: 10rpx;border: 2rpx solid darkgray;margin-bottom: 20rpx;margin-top: 20rpx;margin-left: 10%;">
  81. <image class="shuxinImg" src="/static/imags/shuaxin@3x.png" mode="scaleToFill"></image>
  82. <label class="shuaxinBT">{{$t('order.shuaxinList')}}</label>
  83. </view>
  84. </view>
  85. </view>
  86. </view>
  87. <view v-if="orderList.length==0&&isLogin" class="contentColumnC">
  88. <image class="weishimingImage" src="/static/imags/dingdan.png" mode="widthFix"></image>
  89. <text class="meiyouText">{{$t('order.dangqmydd')}}</text>
  90. </view>
  91. <!-- 提示窗示例 -->
  92. <uni-popup ref="alertDialog" type="dialog">
  93. <uni-popup-dialog type="NOMLE" :cancelText="$t('index.quxiao')" :confirmText="$t('index.queren')" :title="noteMsg.title" :content="noteMsg.msg" @confirm="dialogConfirm"
  94. @close="dialogClose"></uni-popup-dialog>
  95. </uni-popup>
  96. </view>
  97. </template>
  98. <script>
  99. import {
  100. getqishouorderlist,
  101. getqsorderlist
  102. } from '@/pages/api/basic';
  103. import {
  104. getUserMsg,
  105. refreshToken,
  106. updataUserMsg,
  107. getversion
  108. } from '@/pages/api/login';
  109. export default {
  110. data() {
  111. return {
  112. tableList:[],
  113. toptableindex:0,
  114. state:2,
  115. isLogin:false,
  116. isOnline:true,
  117. show:false,
  118. juliL:10,
  119. orderList:[],
  120. noteMsg:{
  121. title:'',
  122. msg:''
  123. },
  124. latitude:'',
  125. longitude:'',
  126. userInfo:'',
  127. timer:null
  128. }
  129. },
  130. onShow() {
  131. this.getVersion();
  132. this.tableList=[];
  133. this.tableList=[
  134. { value: 0, text: this.$t('order.xinrenwu') },
  135. { value: 1, text: this.$t('order.daiquhuo')},
  136. { value: 2, text: this.$t('order.peisongzh')},
  137. { value: 3, text: this.$t('order.shouhou') },
  138. ];
  139. var that =this;
  140. that.token = uni.getStorageSync("token");
  141. console.log('2222',that.token)
  142. if(that.token == '' || that.token == undefined || that.token == null){
  143. that.isLogin=false;
  144. // uni.reLaunch({
  145. // url:'/pages/user/LoginView'
  146. // })
  147. return;
  148. }
  149. else{
  150. that.isLogin=true;
  151. getApp().globalData.isOnline = this.isOnline;
  152. that.getUserMsg(that.token);
  153. }
  154. var tempjuli=uni.getStorageSync('FuWujuli');
  155. if(''==tempjuli||null==tempjuli||undefined==tempjuli){
  156. this.juli=10;
  157. }
  158. else{
  159. this.juli=tempjuli;
  160. }
  161. if(this.toptableindex==0){
  162. this.MYgetLocation();
  163. }
  164. this.timerAct();
  165. },
  166. onHide() {
  167. this.clearTimer();
  168. },
  169. onBackPress() {
  170. this.clearTimer();
  171. },
  172. methods: {
  173. MYgetLocation(){
  174. var that = this;
  175. uni.getLocation({
  176. type: "wgs84", //默认为 wgs84 返回 gps 坐标//谷歌地图使用 wgs84 坐标,其他地图使用 gcj02 坐标
  177. geocode: "true",
  178. isHighAccuracy: "true",
  179. accuracy: "best", // 精度值为20m
  180. success: function (res) {
  181. //console.log("定位获取:", res);
  182. that.latitude=res.latitude;
  183. that.longitude=res.longitude;
  184. uni.setStorageSync("latitude",that.latitude);
  185. uni.setStorageSync("longitude",that.longitude);
  186. that.getorderList(1,that.state);
  187. },
  188. fail(err) {
  189. var latitude = uni.getStorageSync('latitude');
  190. var longitude = uni.getStorageSync('longitude');
  191. uni.showToast({
  192. title: that.$t('api.dingweishibai'),
  193. icon: 'none',
  194. duration: 2500
  195. })
  196. }
  197. });
  198. },
  199. tableselct(id,index){
  200. if(!this.isLogin){
  201. uni.navigateTo({
  202. url:'/pages/user/LoginView'
  203. })
  204. return;
  205. }
  206. if(this.toptableindex!=index){
  207. this.orderList=[];
  208. }
  209. this.toptableindex=index;
  210. if(index==0){
  211. this.getorderList(1,2);
  212. //this.getUorderList(1,4);
  213. }
  214. if(index==1){
  215. this.getUorderList(1,3);
  216. //this.getUorderList(1,4);
  217. }
  218. if(index==2){
  219. this.getUorderList(1,4);
  220. }
  221. if(index==3){
  222. this.getUorderList(1,'z678911');
  223. //this.getUorderList(1,4);
  224. }
  225. console.log('this.toptableindex',this.toptableindex)
  226. },
  227. gotoUserCenter(){
  228. uni.navigateTo({
  229. url:'/pages/user/UserCenter'
  230. })
  231. },
  232. gotoxiaoxi(){
  233. if(!this.isLogin){
  234. uni.navigateTo({
  235. url:'/pages/user/LoginView'
  236. })
  237. return;
  238. }
  239. // uni.navigateTo({
  240. // url:'/pages/dache/Dachedingdan'
  241. // })
  242. },
  243. gotoshiming(){
  244. uni.navigateTo({
  245. url:'/pages/user/zhanghu/Shimingrenzheng'
  246. })
  247. },
  248. changeState(){
  249. console.log('changeState')
  250. //this.gotoNav();
  251. if(this.isOnline){
  252. this.noteMsg.title=this.$t('shouye.querenxiax');
  253. this.noteMsg.msg=this.$t("shouye.querenxiaxN");
  254. }
  255. else{
  256. this.noteMsg.title=this.$t('shouye.querenkaig');
  257. this.noteMsg.msg=this.$t('shouye.querenkaigN');
  258. }
  259. this.$refs.alertDialog.open('center');
  260. //this.isOnline = !this.isOnline;
  261. },
  262. dialogConfirm() {
  263. console.log('点击确认')
  264. this.isOnline = !this.isOnline;
  265. getApp().globalData.isOnline = this.isOnline;
  266. },
  267. dialogClose() {
  268. console.log('点击关闭')
  269. },
  270. gotojiedanshez(){
  271. uni.navigateTo({
  272. url:'/pages/index/Jiedanset'
  273. })
  274. },
  275. timerAct(){
  276. this.clearTimer();
  277. var that = this;
  278. that.timer = setInterval(() => {
  279. //console.log('setInterval',that.toptableindex)
  280. if(that.toptableindex==0){
  281. that.refleshdata();
  282. }
  283. }, 20000);
  284. },
  285. clearTimer() {
  286. // clearTime
  287. if (this.timer) {
  288. clearInterval(this.timer);
  289. this.timer = null;
  290. }
  291. },
  292. refleshdata(){
  293. if(!this.isLogin){
  294. uni.navigateTo({
  295. url:'/pages/user/LoginView'
  296. })
  297. return;
  298. }
  299. this.toptableindex=0;
  300. this.state = 2;
  301. //this.orderList=[];
  302. this.MYgetLocation();
  303. },
  304. refleshList(){
  305. if(this.toptableindex==0){
  306. this.getorderList(1,2);
  307. }
  308. if(this.toptableindex==1){
  309. this.getUorderList(1,3);
  310. }
  311. if(this.toptableindex==2){
  312. this.getUorderList(1,4);
  313. }
  314. if(this.toptableindex==3){
  315. this.getUorderList(1,'z678911');
  316. }
  317. },
  318. getorderList(page,state){
  319. uni.showLoading({
  320. title:'Loading...',
  321. mask:true
  322. })
  323. this.state = state;
  324. var that = this;
  325. this.$http.get(`${getqishouorderlist}`,{
  326. page:page,
  327. size:20,
  328. state:'z02',
  329. longitude:that.longitude,
  330. latitude:that.latitude,
  331. juli:3000//that.juli
  332. },false)
  333. .then(r => {
  334. uni.hideLoading();
  335. // console.log('qs',r);
  336. if(this.toptableindex==0&&state==2){
  337. this.orderList=r.data.data;
  338. }
  339. })
  340. .catch(err => {
  341. uni.hideLoading();
  342. console.log(err)
  343. })
  344. },
  345. getUorderList(page,state){
  346. uni.showLoading({
  347. title:'Loading...',
  348. mask:true
  349. })
  350. this.state = state;
  351. console.log(state)
  352. var that = this;
  353. this.$http.get(`${getqsorderlist}`,{
  354. page:page,
  355. size:20,
  356. state:state,
  357. },true)
  358. .then(r => {
  359. uni.hideLoading();
  360. console.log('1231',r);
  361. this.orderList=r.data.data;
  362. })
  363. .catch(err => {
  364. uni.hideLoading();
  365. console.log(err)
  366. })
  367. },
  368. async getUserMsg(token){
  369. //console.log('getUserMsg')
  370. await this.$http.get(`${getUserMsg}`, {
  371. },true)
  372. .then(async r => {
  373. console.log('-----',r.data)
  374. if(r.data.code!=200){
  375. uni.setStorageSync('userInfo','');
  376. this.isLogin=false;
  377. uni.setStorageSync("token",'');
  378. uni.navigateTo({
  379. url:'/pages/user/LoginView'
  380. })
  381. return
  382. }
  383. this.userInfo=r.data.data;
  384. getApp().globalData.auditStatus=this.userInfo.auditStatus;
  385. uni.setStorageSync('userInfo',this.userInfo);
  386. this.isLogin=true;
  387. this.gengxintoken(token);
  388. })
  389. .catch(err => {
  390. console.log(err)
  391. })
  392. },
  393. async gengxintoken(token){
  394. await this.$http.get(`${refreshToken}`, {
  395. },true)
  396. .then(async r => {
  397. //console.log('gengxintoken',r);
  398. if(r.data.code==200){
  399. uni.setStorageSync("token",r.data.data);
  400. getApp().globalData.token=r.data.data;
  401. this.getCID();
  402. }
  403. })
  404. .catch(err => {
  405. console.log(err)
  406. })
  407. },
  408. getCID(){
  409. var cid = uni.getStorageSync("cid");
  410. console.log(cid);
  411. if(cid==''||cid==null||cid==undefined){
  412. var that = this;
  413. uni.getPushClientId({
  414. success: (res) => {
  415. console.log('客户端推送标识:',res.cid)
  416. uni.setStorageSync("cid",res.cid);
  417. var usdata = {
  418. "cid":res.cid,
  419. };
  420. that.updataUserMsg(usdata);
  421. },
  422. fail(err) {
  423. console.log('获取推送标识失败',err)
  424. uni.showToast({
  425. title:'获取推送标识失败',
  426. icon: 'none',
  427. duration: 4000
  428. })
  429. }
  430. });
  431. }
  432. else{
  433. var usdata = {
  434. "cid":cid,
  435. };
  436. this.updataUserMsg(usdata)
  437. }
  438. },
  439. async updataUserMsg(data){
  440. await this.$http.post(`${updataUserMsg}`,data,true)
  441. .then(async r => {
  442. console.log('updataUserMsg',r)
  443. })
  444. .catch(err => {
  445. console.log(err)
  446. })
  447. },
  448. //自动更新
  449. getVersion(){
  450. // return;
  451. var info = uni.getSystemInfoSync();
  452. console.log(info);
  453. if(info.platform.toLowerCase() != 'android'){
  454. return;
  455. }
  456. var appVersionCode = info.appVersionCode;
  457. var that = this;
  458. this.$http.get(`${getversion}`,{
  459. platform:'0',
  460. name:'CTE.partner'
  461. },false)
  462. .then(res => {
  463. console.log(res);
  464. if(res.data.data){
  465. var versionMSG=res.data.data;
  466. if(appVersionCode<versionMSG.version){
  467. that.gengxincaozuo(versionMSG.renew);
  468. }
  469. }
  470. })
  471. .catch(err => {
  472. console.log(err)
  473. })
  474. },
  475. gengxincaozuo(state){
  476. var that = this;
  477. var content="";
  478. var info = uni.getSystemInfoSync();
  479. if(state==0){
  480. content=that.$t('index.qiangzhiyiyouxinban');
  481. }
  482. else{
  483. content=that.$t('index.yiyouxinban');
  484. }
  485. uni.showModal({
  486. cancelText: that.$t('index.quxiao'), // 取消按钮的文字
  487. confirmText: that.$t('index.shengji'), // 确认按钮的文字
  488. title: that.$t('api.message'),
  489. content: that.$t('index.yiyouxinban'),
  490. success: function (res) {
  491. if (res.confirm) { //这里是点击了确定以后
  492. var updateUrl='http://backend.cityexpress168.com.vn/androidApk/CTE.partner.apk';
  493. that.gengxinApp(updateUrl);
  494. } else { //这里是点击了取消以后
  495. console.log('用户点击取消')
  496. if(state==0){
  497. plus.runtime.quit(); // 强制更新,App端退出应用
  498. }
  499. }
  500. }
  501. })
  502. },
  503. gengxinApp(url){
  504. console.log(url);
  505. var that = this;
  506. var dtask = plus.downloader.createDownload(
  507. url,
  508. {
  509. method: "GET"
  510. }, (d, status) => {
  511. console.log(status,d);
  512. if (status == 200) {
  513. plus.runtime.install(d.filename)
  514. } else {
  515. plus.nativeUI.alert('fail!' + status)
  516. }
  517. });
  518. dtask.start();
  519. var prg = 0;//进度数字化
  520. var show= plus.nativeUI.showWaiting("Loading...");
  521. var percentVal;
  522. dtask.addEventListener('statechanged',function(task,status){
  523. //console.log(task);
  524. switch(task.state){//根据下载状态调整其显示内容
  525. case 1:
  526. percentVal = "Loading……";
  527. show.setTitle("Loading……");
  528. break;
  529. case 2:
  530. percentVal = "Connected";
  531. show.setTitle("Connected");
  532. break;
  533. case 3:
  534. percentVal = parseInt((parseFloat(task.downloadedSize) / parseFloat(task.totalSize)) * 100);
  535. show.setTitle("Loading:" + percentVal + "%");
  536. break;
  537. case 4:
  538. plus.nativeUI.closeWaiting();
  539. break;
  540. }
  541. });
  542. },
  543. //导航测试用
  544. gotoNav(){
  545. var navData={
  546. latitude:parseFloat(10.715641),
  547. longitude:parseFloat(106.739320),
  548. address:"我的目的地"
  549. }
  550. console.log(navData)
  551. var temp = JSON.stringify(navData);
  552. uni.navigateTo({
  553. url:'/pages/map/mapboxView?navdata='+temp
  554. })
  555. //this.handlePosition(store.latitude,store.longitude,store.address);
  556. },
  557. }
  558. }
  559. </script>
  560. <style lang="scss">
  561. @import '@/common/common.scss';
  562. @font-face {
  563. font-family: zrht;
  564. src: url('/uni_modules/font/zrht.otf');
  565. }
  566. page{
  567. background-color: whitesmoke;
  568. }
  569. .weidenglu{
  570. width: 750rpx;
  571. height: 600rpx;
  572. background-size: 100% 100%;
  573. background-image: url('/static/defimags/xuanchuan.png');
  574. }
  575. .xuacyuA{
  576. font-size: 26rpx;
  577. font-family: 'zrht';
  578. font-weight: bold;
  579. //letter-spacing: 2rpx;
  580. margin-top: 70rpx;
  581. }
  582. .texing{
  583. font-size: 20rpx;
  584. font-weight: bold;
  585. font-family: 'zrht';
  586. margin-left: 320rpx;
  587. width: 420rpx;
  588. //letter-spacing: 6rpx;
  589. margin-top: 40rpx;
  590. color: #006AFF;
  591. align-items: center;
  592. justify-content: flex-start;
  593. }
  594. .topContentV{
  595. position: fixed;
  596. padding-top: 40rpx;
  597. width: 750upx;
  598. left: 0;
  599. right: 0;
  600. top: 0;
  601. z-index: 999;
  602. }
  603. .popup-content {
  604. align-items: center;
  605. justify-content: center;
  606. padding: 15px;
  607. height: 50px;
  608. background-color: #fff;
  609. }
  610. .IconImgV{
  611. width: 80rpx;
  612. height: 80rpx;
  613. border-radius:40rpx;
  614. background-color: #107BFF;
  615. }
  616. .IconImg{
  617. width: 40rpx;
  618. height: 40rpx;
  619. padding: 20rpx;
  620. }
  621. .IconImgVC{
  622. width: 60rpx;
  623. height: 60rpx;
  624. border-radius:30rpx;
  625. background-color: #107BFF;
  626. }
  627. .IconImgC{
  628. width: 40rpx;
  629. height: 40rpx;
  630. padding: 10rpx;
  631. }
  632. .luxianImag{
  633. width: 30rpx;
  634. height: 30rpx;
  635. }
  636. .luxianImagSele{
  637. width: 40rpx;
  638. height: 40rpx;
  639. }
  640. .stateView{
  641. display: flex;
  642. flex-direction: row;
  643. align-items: center;
  644. margin-left: 20rpx;
  645. padding: 10rpx;
  646. height: 60rpx;
  647. width: 260rpx;
  648. border-radius:30rpx;
  649. background-color: #107BFF;
  650. }
  651. .dgImg{
  652. width: 40rpx;
  653. height: 40rpx;
  654. }
  655. .toptalbarCT{
  656. width: 100%;
  657. display: flex;
  658. justify-content:center;
  659. background-color:#006AFF;
  660. padding-top: 10rpx;
  661. height: 106rpx;
  662. }
  663. .toptalbar{
  664. width: 90%;
  665. display: flex;
  666. flex-direction: row;
  667. justify-content:space-between;
  668. align-items:center;
  669. background-color:#006AFF;
  670. padding-top: 0rpx;
  671. height: 106rpx;
  672. }
  673. .tableLab{
  674. width: 20%;
  675. text-align:center;
  676. margin-left: 16rpx;
  677. margin-right: 16rpx;
  678. font-size: 26rpx;
  679. color: whitesmoke;
  680. }
  681. .tableselect{
  682. border-bottom-width: 6rpx;
  683. border-bottom-style:solid;
  684. border-bottom-color:white;
  685. color: white;
  686. font-size: 30rpx;
  687. }
  688. .tableLabS{
  689. width: 20%;
  690. text-align:center;
  691. font-size: 26rpx;
  692. color: whitesmoke;
  693. }
  694. .tableselectS{
  695. color: white;
  696. font-size: 32rpx;
  697. }
  698. .weishimingImage{
  699. width: 30%;
  700. margin-top: 40rpx;
  701. }
  702. .bottomfloatV{
  703. position: fixed;
  704. flex-direction: row;
  705. align-items: center;
  706. left: 0;
  707. right: 0;
  708. bottom: 0;
  709. z-index: 999;
  710. background-color: white;
  711. height: 140rpx;
  712. }
  713. .setImg{
  714. width: 44rpx;
  715. height: 44rpx;
  716. }
  717. .shuxinImg{
  718. width: 30rpx;
  719. height: 30rpx;
  720. }
  721. .jiedanText{
  722. font-size: 26rpx;
  723. color: darkgray;
  724. }
  725. .meiyouText{
  726. font-size: 28rpx;
  727. font-weight: bold;
  728. color: black;
  729. }
  730. .shuaxinBT{
  731. font-weight: bold;
  732. font-size: 32rpx;
  733. color: black;
  734. border-radius: 8rpx;
  735. padding: 6rpx;
  736. margin-right: 30rpx;
  737. }
  738. </style>