index.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737
  1. <template>
  2. <view>
  3. <view class='shoppingCart copy-data'>
  4. <view class="content">
  5. <view class='list'>
  6. <view>
  7. <block v-for="(item,index) in cart_info" :key="index">
  8. <view class='item acea-row row-between-wrapper' :style="{ opacity: item.is_writeoff == 1 ? 0.5 : 1 }">
  9. <div class="xuan" @click="dan(item.cart_id,index)">
  10. <view :class="(item.checked && !item.is_writeoff)?'iconfont icon-a-ic_CompleteSelect':'iconfont icon-ic_unselect'"></view>
  11. </div>
  12. <view class='picTxt acea-row row-between-wrapper'>
  13. <view class='pictrue'>
  14. <image :src="item.cart_info.productInfo.attrInfo?item.cart_info.productInfo.attrInfo.image:item.cart_info.productInfo.image" mode=""></image>
  15. </view>
  16. <view class='text'>
  17. <view class="title">
  18. <view class='line1'>
  19. {{ item.cart_info.productInfo.store_name }}
  20. </view>
  21. <view v-if="item.is_writeoff == 1" class="txt">已核销</view>
  22. <view v-if="item.is_writeoff == 0 && item.surplus_num == item.cart_num" class="txt bluecol">未核销</view>
  23. <view v-if="item.is_writeoff == 0 && item.surplus_num != item.cart_num" class="txt orangcol">
  24. 已核销{{item.cart_num - item.surplus_num}}件</view>
  25. </view>
  26. <view class='infor line1'>
  27. 属性:{{ item.cart_info.productInfo.attrInfo.suk }}</view>
  28. <view class='money he row-middle'>
  29. <view>¥{{ item.cart_info.productInfo.attrInfo?item.cart_info.productInfo.attrInfo.price:item.cart_info.productInfo.price }}</view>
  30. <view v-if="item.is_writeoff == 1" class="txt">
  31. <view class='carnum acea-row row-center-wrapper'>
  32. <view class="reduce">
  33. <text class="iconfont icon-ic_Reduce"></text>
  34. </view>
  35. <view class='nums'>0</view>
  36. <view class="plus">
  37. <text class="iconfont icon-ic_increase"></text>
  38. </view>
  39. </view>
  40. </view>
  41. <view v-else class="txt">
  42. <view class='carnum acea-row row-center-wrapper'>
  43. <view v-if="item.surplus_num_input == 1" class="reduce bggary">
  44. <text class="iconfont icon-ic_Reduce"></text>
  45. </view>
  46. <view v-else class="reduce" @click.stop='subCart(item,index)'>
  47. <text class="iconfont icon-ic_Reduce"></text>
  48. </view>
  49. <view class='nums'>{{item.surplus_num_input}}</view>
  50. <view v-if="item.surplus_num == item.surplus_num_input" class="plus bggary">
  51. <text class="iconfont icon-ic_increase"></text>
  52. </view>
  53. <view v-else class="plus" @click.stop='addCart(item,index)'>
  54. <text class="iconfont icon-ic_increase"></text>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. </view>
  60. </view>
  61. </view>
  62. </block>
  63. </view>
  64. </view>
  65. </view>
  66. <view class='footer acea-row row-between-wrapper'>
  67. <view>
  68. <view class="flex">
  69. <div class="xuan" @click="checkAll" v-model="checked">
  70. <view class="iconfont" :class="checked?'icon-a-ic_CompleteSelect':'icon-ic_unselect'"></view>
  71. </div>
  72. <text class='checkAll'>全选</text>
  73. </view>
  74. </view>
  75. <view>
  76. <button class='money' type="primary" @click="verification">{{checked?'一键':'确认'}}核销({{numChecked}})</button>
  77. </view>
  78. </view>
  79. </view>
  80. <view v-if="box">
  81. <view class="box">
  82. <view class="small_box">
  83. <view class="content">
  84. <view class="font">核销成功</view>
  85. <view v-if="list.total_num == parseInt(list.writeoff_count)+writeOffNum" class="small_font">当前订单已完成核销</view>
  86. <view v-else class="small_font">该订单仍有其他待核销商品</view>
  87. </view>
  88. <view class="acea-row btn-box">
  89. <view v-if="lets == 1 && list.total_num == parseInt(list.writeoff_count)+writeOffNum" class="btn" @click="ok(1)">知道了</view>
  90. <navigator v-if="lets > 1 && list.total_num != parseInt(list.writeoff_count)+writeOffNum" :url='"/pages/admin/distribution/scanning/index?code="+attr.code' hover-class='none'
  91. open-type="redirect" class="btn">返回列表</navigator>
  92. <navigator v-if="(lets > 1 && list.total_num == parseInt(list.writeoff_count)+writeOffNum)||(lets==1&&list.total_num != parseInt(list.writeoff_count)+writeOffNum)"
  93. url="/pages/admin/distribution/index" hover-class='none' open-type="redirect" class="btn">返回首页</navigator>
  94. <view v-if="list.total_num != parseInt(list.writeoff_count)+writeOffNum" class="btn on" @click="ok(0)">继续核销</view>
  95. <navigator v-if="lets > 1 && list.total_num == parseInt(list.writeoff_count)+writeOffNum" :url='"/pages/admin/distribution/scanning/index?code="+attr.code' open-type="redirect"
  96. hover-class='none' class="btn">核销其他订单</navigator>
  97. </view>
  98. </view>
  99. </view>
  100. </view>
  101. </view>
  102. </template>
  103. <script>
  104. import {
  105. orderCartInfo,
  106. orderWriteoff
  107. } from '@/api/admin'
  108. import {
  109. emit
  110. } from 'process';
  111. export default {
  112. props: {
  113. list: {
  114. type: Object,
  115. default () {
  116. return {}
  117. }
  118. },
  119. auth: {
  120. type: [String, Number],
  121. default: 1
  122. },
  123. oid: {
  124. type: Number,
  125. default: 0
  126. },
  127. },
  128. data() {
  129. return {
  130. nums: [],
  131. newList: [],
  132. reduce_show: -1,
  133. plus_show: -1,
  134. ids: [], //选定需要核销的id
  135. lets: 0, //判断订单的数量
  136. listlet: 0, //判断订单商品的数量
  137. attr: { //切换组件传值
  138. cartAttr: false,
  139. id: [],
  140. code: '',
  141. type: 0
  142. },
  143. // id: 0, //订单ID
  144. // list: [],
  145. lists: {},
  146. lengt: 0,
  147. box: false,
  148. checked: false,
  149. checkModel: [],
  150. isAllSelect: false,
  151. data: [{
  152. id: '1',
  153. value: 'aaa'
  154. }, {
  155. id: '2',
  156. value: 'bbb'
  157. }, {
  158. id: '3',
  159. value: 'ccc'
  160. }],
  161. writeOffNum: 0, //每次核销商品数量
  162. cart_info: [],
  163. numChecked: 0,
  164. };
  165. },
  166. watch: {
  167. checkModel() {
  168. // if (this.lengt == this.checkModel.length) {
  169. // this.checked = true;
  170. // } else {
  171. // this.checked = false;
  172. // }
  173. },
  174. },
  175. mounted() {
  176. this.cart_info = this.list.cart_info;
  177. // this.lists = JSON.parse(JSON.stringify(this.list))
  178. // this.listlet = this.list.cart_info.length
  179. // this.$set(this.attr, 'id', this.list.id);
  180. this.checkAll()
  181. // this.num()
  182. },
  183. methods: {
  184. //处理每一条数据的最大值
  185. num() {
  186. for (let index = 0; index < this.lists.cart_info.length; index++) {
  187. this.nums.push({
  188. num: 0
  189. });
  190. }
  191. },
  192. subCart(item, index) {
  193. // if (item.surplus_num == 1) {
  194. // this.reduce_show = index;
  195. // } else {
  196. // this.nums[index].num--
  197. // item.surplus_num--
  198. // }
  199. this.list.cart_info[index].surplus_num_input--;
  200. },
  201. addCart(item, index) {
  202. // if (item.surplus_num == item.surplus_num + this.nums[index].num) {
  203. // this.plus_show = index;
  204. // } else {
  205. // item.surplus_num++
  206. // this.nums[index].num++
  207. // }
  208. this.list.cart_info[index].surplus_num_input++;
  209. },
  210. checkAll() {
  211. var items = this.cart_info,
  212. data = [];
  213. this.checkModel = [];
  214. this.checked = !this.checked;
  215. for (let i = 0; i < this.cart_info.length; i++) {
  216. this.cart_info[i].checked = this.checked;
  217. if (this.cart_info[i].checked) {
  218. this.checkModel.push(this.cart_info[i].cart_id);
  219. }
  220. }
  221. let numChecked = 0;
  222. for (let i = 0; i < this.cart_info.length; i++) {
  223. if (!this.cart_info[i].is_writeoff) {
  224. if (this.cart_info[i].checked) {
  225. numChecked = numChecked + this.cart_info[i].surplus_num_input;
  226. }
  227. }
  228. }
  229. this.numChecked = numChecked;
  230. // if (this.checked) {
  231. // for (var i = 0, lenI = this.list.cart_info.length; i < lenI; ++i) {
  232. // const item = items[i]
  233. // this.$set(item, 'checked', false)
  234. // }
  235. // } else {
  236. // for (var i = 0, lenI = this.list.cart_info.length; i < lenI; ++i) {
  237. // const item = items[i]
  238. // this.$set(item, 'checked', true)
  239. // if (item.is_writeoff == 1) {
  240. // this.checkModel = this.checkModel.filter(item => item != item.cart_id)
  241. // } else {
  242. // this.checkModel.push(item.cart_id)
  243. // }
  244. // }
  245. // this.lengt = this.checkModel.length
  246. // }
  247. },
  248. dan(id, index) {
  249. // if (this.checkModel.indexOf(id) == -1) {
  250. // this.$set(this.list.cart_info[index], 'checked', true)
  251. // this.checkModel.push(id)
  252. // } else {
  253. // this.$set(this.list.cart_info[index], 'checked', false)
  254. // this.checkModel = this.checkModel.filter(item => item != id)
  255. // }
  256. this.cart_info[index].checked = !this.cart_info[index].checked;
  257. this.checkModel = [];
  258. for (let i = 0; i < this.cart_info.length; i++) {
  259. if (this.cart_info[i].checked) {
  260. this.checkModel.push(this.cart_info[i].cart_id);
  261. }
  262. }
  263. let checked = true;
  264. for (let i = 0; i < this.cart_info.length; i++) {
  265. if (!this.cart_info[i].is_writeoff) {
  266. if (!this.cart_info[i].checked) {
  267. checked = false;
  268. }
  269. }
  270. }
  271. this.checked = checked;
  272. let numChecked = 0;
  273. for (let i = 0; i < this.cart_info.length; i++) {
  274. if (!this.cart_info[i].is_writeoff) {
  275. if (this.cart_info[i].checked) {
  276. numChecked = numChecked + this.cart_info[i].surplus_num_input;
  277. }
  278. }
  279. }
  280. this.numChecked = numChecked;
  281. },
  282. getList: function(id) {
  283. orderCartInfo({
  284. oid: id,
  285. auth: 2,
  286. }).then(res => {
  287. this.list = res.data
  288. this.lists = JSON.parse(JSON.stringify(res.data))
  289. this.listlet = res.data.cart_info.length
  290. this.$set(this.attr, 'id', this.list.id);
  291. this.checkAll()
  292. this.num()
  293. })
  294. },
  295. onDataId: function(id) {
  296. this.nums.forEach((item) => {
  297. item.num = 0
  298. })
  299. this.id = id;
  300. this.getList(id)
  301. },
  302. switchs() {
  303. this.attr.cartAttr = true;
  304. this.$refs.writeOff.getList(2)
  305. },
  306. onMyEvent() {
  307. this.attr.cartAttr = false;
  308. },
  309. verification() {
  310. let that = this
  311. let newObj = [];
  312. for (let i = 0; i < this.cart_info.length; i++) {
  313. if (this.cart_info[i].checked && !this.cart_info[i].is_writeoff) {
  314. newObj.push({
  315. cart_id: this.cart_info[i].cart_id,
  316. cart_num: this.cart_info[i].surplus_num_input,
  317. });
  318. }
  319. }
  320. // return
  321. // let obj = {};
  322. // 将数组转化为对象
  323. // for (let key in this.checkModel) {
  324. // obj[key] = this.checkModel[key];
  325. // };
  326. // let newObj = Object.keys(obj).map(val => ({
  327. // cart_id: obj[val],
  328. // }));
  329. //处理列表内对应的核销数的数值
  330. // for (var i = 0; i < newObj.length; i++) {
  331. // for (var j = 0; j < this.list.cart_info.length; j++) {
  332. // if (newObj[i].cart_id == this.list.cart_info[j].cart_id) {
  333. // newObj[i].cart_num = this.list.cart_info[j].surplus_num;
  334. // }
  335. // }
  336. // }
  337. this.newList = newObj
  338. if (that.checkModel.length == 0) {
  339. that.$util.Tips({
  340. title: '请选择商品'
  341. });
  342. } else {
  343. uni.showLoading({
  344. title: '加载中',
  345. });
  346. let num = 0;
  347. newObj.forEach((item) => {
  348. num = num + parseInt(item.cart_num)
  349. })
  350. this.writeOffNum = num;
  351. setTimeout(function() {
  352. orderWriteoff({
  353. auth: that.auth,
  354. oid: that.oid,
  355. cart_ids: that.newList
  356. }).then(res => {
  357. uni.hideLoading();
  358. // that.box = true
  359. let isAll = 1;
  360. for (let i = 0; i < that.list.cart_info.length; i++) {
  361. if (that.list.cart_info[i].checked) {
  362. if (that.list.cart_info[i].surplus_num != that.list.cart_info[i].surplus_num_input) {
  363. isAll = 0
  364. break;
  365. }
  366. }
  367. }
  368. that.$emit('success', isAll);
  369. }).catch(err => {
  370. that.$util.Tips({
  371. title: err
  372. });
  373. uni.hideLoading();
  374. })
  375. }, 1000);
  376. }
  377. },
  378. // 所有订单核销完成
  379. ok(type) {
  380. this.box = false
  381. this.nums.forEach((item) => {
  382. item.num = 0
  383. })
  384. this.getList(this.id)
  385. if (type) {
  386. uni.redirectTo({
  387. url: '/pages/admin/distribution/index'
  388. })
  389. }
  390. }
  391. }
  392. }
  393. </script>
  394. <style scoped lang="scss">
  395. .shoppingCart {
  396. padding: 24rpx 20rpx;
  397. }
  398. .shoppingCart .content {
  399. padding: 32rpx 24rpx;
  400. margin-top: 20rpx;
  401. border-radius: 24rpx;
  402. background: #FFFFFF;
  403. .list_top {
  404. background-color: #FFFFFF;
  405. font-size: 28upx;
  406. color: #333333;
  407. height: 90upx;
  408. line-height: 90upx;
  409. padding-left: 24upx;
  410. border-bottom: 2upx solid #EEEEEE;
  411. .bluefont {
  412. color: $primary-admin;
  413. display: inline-block;
  414. margin: 0upx 10upx;
  415. }
  416. .garyfont {
  417. color: #999999;
  418. }
  419. }
  420. }
  421. .shoppingCart .list .item .xuan .iconfont {
  422. font-size: 40rpx;
  423. color: #CCCCCC;
  424. }
  425. .shoppingCart .list .item .xuan .icon-a-ic_CompleteSelect {
  426. color: $primary-admin;
  427. }
  428. .shoppingCart .list .item .picTxt {
  429. // width: 627upx;
  430. position: relative;
  431. flex: 1;
  432. min-width: 0;
  433. padding-left: 16rpx;
  434. }
  435. .shoppingCart .list .item .picTxt .pictrue {
  436. width: 136rpx;
  437. height: 136rpx;
  438. }
  439. .shoppingCart .list .item .picTxt .pictrue image {
  440. width: 100%;
  441. height: 100%;
  442. border-radius: 16rpx;
  443. }
  444. .shoppingCart .list .item .picTxt .text {
  445. flex: 1;
  446. min-width: 0;
  447. padding-left: 20rpx;
  448. font-size: 28upx;
  449. color: #282828;
  450. }
  451. .shoppingCart .list .item .picTxt .text .reColor {
  452. color: #999;
  453. width: 60%;
  454. }
  455. .shoppingCart .list .item .picTxt .text .title {
  456. display: flex;
  457. justify-content: space-between;
  458. font-size: 28rpx;
  459. line-height: 40rpx;
  460. color: #333333;
  461. .bluecol {
  462. color: $primary-admin;
  463. }
  464. .orangcol {
  465. color: #FF7E00;
  466. }
  467. .graycol {
  468. color: #CCCCCC;
  469. }
  470. }
  471. .shoppingCart .list .item .picTxt .text .title .line1 {
  472. flex: 1;
  473. }
  474. .shoppingCart .list .item .picTxt .text .title .top {
  475. width: 70%;
  476. white-space: nowrap;
  477. overflow: hidden;
  478. text-overflow: ellipsis;
  479. white-space: nowrap;
  480. font-size: 28upx;
  481. font-weight: 400;
  482. }
  483. .shoppingCart .list .item .picTxt .text .reElection {
  484. margin-top: 20upx;
  485. }
  486. .shoppingCart .list .item .picTxt .text .reElection .title {
  487. font-size: 24upx;
  488. }
  489. .shoppingCart .list .item .picTxt .text .reElection .reBnt {
  490. width: 120upx;
  491. height: 46upx;
  492. border-radius: 23upx;
  493. font-size: 26upx;
  494. }
  495. .shoppingCart .list .item .picTxt .text .infor {
  496. font-size: 22rpx;
  497. line-height: 30rpx;
  498. color: #999999;
  499. margin-top: 12rpx;
  500. }
  501. .shoppingCart .list .item .picTxt .text .money {
  502. font-size: 36rpx;
  503. line-height: 36rpx;
  504. color: #333333;
  505. margin-top: 18rpx;
  506. font-family: Regular;
  507. }
  508. .shoppingCart .list .item .picTxt .carnum {
  509. height: 36rpx;
  510. // position: absolute;
  511. // bottom: 7upx;
  512. // right: 0;
  513. }
  514. .shoppingCart .list .item .picTxt .carnum view {
  515. // border: 1upx solid #a4a4a4;
  516. width: 32rpx;
  517. text-align: center;
  518. height: 100%;
  519. line-height: 36rpx;
  520. font-size: 24rpx;
  521. color: #333333;
  522. }
  523. .shoppingCart .list .item .picTxt .carnum .reduce {
  524. border-right: 0;
  525. border-radius: 30upx 0 0 30upx;
  526. }
  527. .shoppingCart .list .item .picTxt .carnum .reduce.on {
  528. border-color: #e3e3e3;
  529. color: #dedede;
  530. }
  531. .shoppingCart .list .item .picTxt .carnum .plus {
  532. border-left: 0;
  533. border-radius: 0 30upx 30upx 0;
  534. }
  535. .shoppingCart .list .item .picTxt .carnum .num {
  536. color: #282828;
  537. }
  538. .shoppingCart .list .item .picTxt .carnum .num0 {
  539. color: #a4a4a4;
  540. }
  541. .shoppingCart .list .item .picTxt .carnum .nums {
  542. width: 72rpx;
  543. border-radius: 4rpx;
  544. background: #F5F5F5;
  545. }
  546. .shoppingCart .footer {
  547. // z-index: 999;
  548. width: 100%;
  549. background: #FFFFFF;
  550. position: fixed;
  551. padding: 0 20rpx 0 32rpx;
  552. box-sizing: border-box;
  553. bottom: 0;
  554. left: 0;
  555. height: 96rpx;
  556. height: calc(96rpx + constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
  557. height: calc(96rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
  558. padding-bottom: constant(safe-area-inset-bottom); ///兼容 IOS<11.2/
  559. padding-bottom: env(safe-area-inset-bottom); ///兼容 IOS>11.2/
  560. }
  561. .shoppingCart .footer.on {
  562. // #ifndef H5
  563. bottom: 0upx;
  564. // #endif
  565. }
  566. .shoppingCart .footer .iconfont {
  567. font-size: 40rpx;
  568. color: #CCCCCC;
  569. }
  570. .shoppingCart .footer .icon-a-ic_CompleteSelect {
  571. color: $primary-admin;
  572. }
  573. .shoppingCart .footer .checkAll {
  574. font-size: 28upx;
  575. color: #282828;
  576. margin-left: 16upx;
  577. }
  578. .shoppingCart .footer .money {
  579. font-size: 24rpx;
  580. height: 64rpx;
  581. padding: 0 32rpx;
  582. background: #2A7EFB;
  583. border-radius: 32rpx;
  584. font-weight: 400;
  585. color: #FFFFFF;
  586. line-height: 64rpx;
  587. }
  588. .shoppingCart .footer .placeOrder {
  589. color: #fff;
  590. font-size: 30upx;
  591. width: 226upx;
  592. height: 70upx;
  593. border-radius: 50upx;
  594. text-align: center;
  595. line-height: 70upx;
  596. margin-left: 22upx;
  597. }
  598. .shoppingCart .footer .button .bnt {
  599. font-size: 28upx;
  600. color: #999;
  601. border-radius: 50upx;
  602. border: 1px solid #999;
  603. width: 160upx;
  604. height: 60upx;
  605. text-align: center;
  606. line-height: 60upx;
  607. }
  608. .shoppingCart .footer .button form~form {
  609. margin-left: 17upx;
  610. }
  611. .writeoff {
  612. opacity: 0.6;
  613. }
  614. .he {
  615. display: flex;
  616. justify-content: space-between;
  617. .txt {
  618. font-size: 22upx;
  619. }
  620. }
  621. .box {
  622. position: fixed;
  623. top: 0;
  624. bottom: 0;
  625. width: 100%;
  626. height: 100%;
  627. z-index: 10;
  628. background-color: #78797a;
  629. .small_box {
  630. position: fixed;
  631. top: 50%;
  632. right: 75rpx;
  633. left: 75rpx;
  634. padding: 40rpx;
  635. border-radius: 32rpx;
  636. background: #FFFFFF;
  637. transform: translateY(-50%);
  638. image {
  639. width: 100%;
  640. height: 228upx;
  641. }
  642. .content {
  643. // height: 200upx;
  644. text-align: center;
  645. .font {
  646. font-weight: 500;
  647. font-size: 32rpx;
  648. line-height: 52rpx;
  649. color: #333333;
  650. }
  651. .small_font {
  652. margin-top: 24rpx;
  653. font-size: 30rpx;
  654. line-height: 42rpx;
  655. color: #666666;
  656. }
  657. }
  658. .btn-box {
  659. margin-top: 40rpx;
  660. }
  661. .btn {
  662. flex: 1;
  663. height: 72rpx;
  664. border: 1rpx solid $primary-admin;
  665. border-radius: 36rpx;
  666. margin-left: 32rpx;
  667. transform: rotateZ(360deg);
  668. text-align: center;
  669. font-weight: 500;
  670. font-size: 26rpx;
  671. line-height: 70rpx;
  672. color: #2A7EFB;
  673. &:first-child {
  674. margin-left: 0;
  675. }
  676. &.on {
  677. background: $primary-admin;
  678. color: #FFFFFF;
  679. }
  680. }
  681. }
  682. }
  683. .uni-p-b-96 {
  684. height: 96upx;
  685. }
  686. </style>