index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962
  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 style="display: 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 btn_no">返回列表</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 btn_no">返回首页</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. this.list.cart_info[index].surplus_num_input--;
  194. },
  195. addCart(item, index) {
  196. this.list.cart_info[index].surplus_num_input++;
  197. },
  198. checkAll() {
  199. var items = this.cart_info,
  200. data = [];
  201. this.checkModel = [];
  202. this.checked = !this.checked;
  203. for (let i = 0; i < this.cart_info.length; i++) {
  204. this.cart_info[i].checked = this.checked;
  205. if (this.cart_info[i].checked) {
  206. this.checkModel.push(this.cart_info[i].cart_id);
  207. }
  208. }
  209. let numChecked = 0;
  210. for (let i = 0; i < this.cart_info.length; i++) {
  211. if (!this.cart_info[i].is_writeoff) {
  212. if (this.cart_info[i].checked) {
  213. numChecked = numChecked + this.cart_info[i].surplus_num_input;
  214. }
  215. }
  216. }
  217. this.numChecked = numChecked;
  218. // if (this.checked) {
  219. // for (var i = 0, lenI = this.list.cart_info.length; i < lenI; ++i) {
  220. // const item = items[i]
  221. // this.$set(item, 'checked', false)
  222. // }
  223. // } else {
  224. // for (var i = 0, lenI = this.list.cart_info.length; i < lenI; ++i) {
  225. // const item = items[i]
  226. // this.$set(item, 'checked', true)
  227. // if (item.is_writeoff == 1) {
  228. // this.checkModel = this.checkModel.filter(item => item != item.cart_id)
  229. // } else {
  230. // this.checkModel.push(item.cart_id)
  231. // }
  232. // }
  233. // this.lengt = this.checkModel.length
  234. // }
  235. },
  236. dan(id, index) {
  237. this.cart_info[index].checked = !this.cart_info[index].checked;
  238. this.checkModel = [];
  239. for (let i = 0; i < this.cart_info.length; i++) {
  240. if (this.cart_info[i].checked) {
  241. this.checkModel.push(this.cart_info[i].cart_id);
  242. }
  243. }
  244. let checked = true;
  245. for (let i = 0; i < this.cart_info.length; i++) {
  246. if (!this.cart_info[i].is_writeoff) {
  247. if (!this.cart_info[i].checked) {
  248. checked = false;
  249. }
  250. }
  251. }
  252. this.checked = checked;
  253. let numChecked = 0;
  254. for (let i = 0; i < this.cart_info.length; i++) {
  255. if (!this.cart_info[i].is_writeoff) {
  256. if (this.cart_info[i].checked) {
  257. numChecked = numChecked + this.cart_info[i].surplus_num_input;
  258. }
  259. }
  260. }
  261. this.numChecked = numChecked;
  262. },
  263. getList: function(id) {
  264. orderCartInfo({
  265. oid: id,
  266. auth: 2,
  267. }).then(res => {
  268. this.list = res.data
  269. this.lists = JSON.parse(JSON.stringify(res.data))
  270. this.listlet = res.data.cart_info.length
  271. this.$set(this.attr, 'id', this.list.id);
  272. this.checkAll()
  273. this.num()
  274. })
  275. },
  276. onDataId: function(id) {
  277. this.nums.forEach((item) => {
  278. item.num = 0
  279. })
  280. this.id = id;
  281. this.getList(id)
  282. },
  283. switchs() {
  284. this.attr.cartAttr = true;
  285. this.$refs.writeOff.getList(2)
  286. },
  287. onMyEvent() {
  288. this.attr.cartAttr = false;
  289. },
  290. verification() {
  291. let that = this
  292. let newObj = [];
  293. for (let i = 0; i < this.cart_info.length; i++) {
  294. if (this.cart_info[i].checked && !this.cart_info[i].is_writeoff) {
  295. newObj.push({
  296. cart_id: this.cart_info[i].cart_id,
  297. cart_num: this.cart_info[i].surplus_num_input,
  298. });
  299. }
  300. }
  301. this.newList = newObj
  302. if (that.checkModel.length == 0) {
  303. that.$util.Tips({
  304. title: '请选择商品'
  305. });
  306. } else {
  307. uni.showLoading({
  308. title: '加载中',
  309. });
  310. let num = 0;
  311. newObj.forEach((item) => {
  312. num = num + parseInt(item.cart_num)
  313. })
  314. this.writeOffNum = num;
  315. setTimeout(function() {
  316. orderWriteoff({
  317. auth: that.auth,
  318. oid: that.oid,
  319. cart_ids: that.newList
  320. }).then(res => {
  321. uni.hideLoading();
  322. // that.box = true
  323. let isAll = 1;
  324. for (let i = 0; i < that.list.cart_info.length; i++) {
  325. if (that.list.cart_info[i].checked) {
  326. if (that.list.cart_info[i].surplus_num != that.list.cart_info[i].surplus_num_input) {
  327. isAll = 0
  328. break;
  329. }
  330. }
  331. }
  332. that.$emit('success', isAll);
  333. }).catch(err => {
  334. that.$util.Tips({
  335. title: err
  336. });
  337. uni.hideLoading();
  338. })
  339. }, 1000);
  340. }
  341. },
  342. // 所有订单核销完成
  343. ok(type) {
  344. this.box = false
  345. this.nums.forEach((item) => {
  346. item.num = 0
  347. })
  348. this.getList(this.id)
  349. if (type) {
  350. uni.redirectTo({
  351. url: '/pages/admin/distribution/index'
  352. })
  353. }
  354. }
  355. }
  356. }
  357. </script>
  358. <style scoped lang="scss">
  359. /deep/checkbox .uni-checkbox-input.uni-checkbox-input-checked {
  360. border: 1px solid #007aff !important;
  361. background-color: #007aff !important;
  362. }
  363. .bggary {
  364. // background-color: #dfdfdf;
  365. }
  366. .page-footer {
  367. position: fixed;
  368. bottom: 0;
  369. z-index: 30;
  370. display: flex;
  371. align-items: center;
  372. justify-content: space-around;
  373. width: 100%;
  374. height: calc(98upx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
  375. height: calc(98upx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
  376. box-sizing: border-box;
  377. border-top: solid 1upx #F3F3F3;
  378. background-color: #fff;
  379. box-shadow: 0px 0px 17upx 1upx rgba(206, 206, 206, 0.32);
  380. padding-bottom: constant(safe-area-inset-bottom); ///兼容 IOS<11.2/
  381. padding-bottom: env(safe-area-inset-bottom); ///兼容 IOS>11.2/
  382. .foot-item {
  383. display: flex;
  384. width: max-content;
  385. align-items: center;
  386. justify-content: center;
  387. flex-direction: column;
  388. position: relative;
  389. .count-num {
  390. position: absolute;
  391. display: flex;
  392. justify-content: center;
  393. align-items: center;
  394. width: 40upx;
  395. height: 40upx;
  396. top: 0upx;
  397. right: -15upx;
  398. color: #fff;
  399. font-size: 20upx;
  400. background-color: #FD502F;
  401. border-radius: 50%;
  402. padding: 4upx;
  403. }
  404. }
  405. .foot-item image {
  406. height: 50upx;
  407. width: 50upx;
  408. text-align: center;
  409. margin: 0 auto;
  410. }
  411. .foot-item .txt {
  412. font-size: 24upx;
  413. &.active {}
  414. }
  415. }
  416. .shoppingCart {
  417. /* #ifdef H5 */
  418. // padding-bottom: 0;
  419. // padding-bottom: constant(safe-area-inset-bottom);
  420. // padding-bottom: env(safe-area-inset-bottom);
  421. /* #endif */
  422. padding: 24rpx 20rpx;
  423. }
  424. .shoppingCart .labelNav {
  425. height: 76upx;
  426. padding: 0 30upx;
  427. font-size: 22upx;
  428. color: #8c8c8c;
  429. position: fixed;
  430. left: 0;
  431. width: 100%;
  432. box-sizing: border-box;
  433. background-color: #f5f5f5;
  434. z-index: 5;
  435. top: 0;
  436. }
  437. .shoppingCart .labelNav .item .iconfont {
  438. font-size: 25upx;
  439. margin-right: 10upx;
  440. }
  441. .shoppingCart .nav {
  442. // width: 100%;
  443. background-color: #fff;
  444. height: 100rpx;
  445. padding: 0 20rpx 0 24rpx;
  446. font-size: 28rpx;
  447. color: #333333;
  448. z-index: 5;
  449. border-radius: 24rpx;
  450. }
  451. .shoppingCart .nav .num {
  452. margin-left: 12upx;
  453. }
  454. .shoppingCart .nav .administrate {
  455. font-size: 26upx;
  456. color: #282828;
  457. width: 110upx;
  458. height: 46upx;
  459. border-radius: 24upx;
  460. border: 1px solid #CCCCCC;
  461. }
  462. .shoppingCart .noCart {
  463. margin-top: 171upx;
  464. background-color: #fff;
  465. padding-top: 0.1upx;
  466. }
  467. .shoppingCart .noCart .pictrue {
  468. width: 414upx;
  469. height: 336upx;
  470. margin: 78upx auto 56upx auto;
  471. }
  472. .shoppingCart .noCart .pictrue image {
  473. width: 100%;
  474. height: 100%;
  475. }
  476. .shoppingCart .list {
  477. // margin: 20upx 28upx;
  478. }
  479. .shoppingCart .list .item {
  480. // padding: 25upx 30upx;
  481. // background-color: #fff;
  482. // margin-bottom: 15upx;
  483. }
  484. .shoppingCart .list .item .xuan .iconfont {
  485. font-size: 40rpx;
  486. color: #CCCCCC;
  487. }
  488. .shoppingCart .list .item .xuan .icon-a-ic_CompleteSelect {
  489. color: #2A7EFB;
  490. }
  491. .shoppingCart .list .item .picTxt {
  492. // width: 627upx;
  493. position: relative;
  494. flex: 1;
  495. min-width: 0;
  496. padding-left: 16rpx;
  497. }
  498. .shoppingCart .list .item .picTxt .pictrue {
  499. width: 136rpx;
  500. height: 136rpx;
  501. }
  502. .shoppingCart .list .item .picTxt .pictrue image {
  503. width: 100%;
  504. height: 100%;
  505. border-radius: 16rpx;
  506. }
  507. .shoppingCart .list .item .picTxt .text {
  508. flex: 1;
  509. min-width: 0;
  510. padding-left: 20rpx;
  511. font-size: 28upx;
  512. color: #282828;
  513. }
  514. .shoppingCart .list .item .picTxt .text .reColor {
  515. color: #999;
  516. width: 60%;
  517. }
  518. .shoppingCart .list .item .picTxt .text .title {
  519. display: flex;
  520. justify-content: space-between;
  521. font-size: 28rpx;
  522. line-height: 40rpx;
  523. color: #333333;
  524. .bluecol {
  525. color: #1890FF;
  526. }
  527. .orangcol {
  528. color: #FF7E00;
  529. }
  530. .graycol {
  531. color: #CCCCCC;
  532. }
  533. }
  534. .shoppingCart .list .item .picTxt .text .title .line1 {
  535. flex: 1;
  536. }
  537. .shoppingCart .list .item .picTxt .text .title .top {
  538. width: 70%;
  539. white-space: nowrap;
  540. overflow: hidden;
  541. text-overflow: ellipsis;
  542. white-space: nowrap;
  543. font-size: 28upx;
  544. font-weight: 400;
  545. }
  546. .shoppingCart .list .item .picTxt .text .reElection {
  547. margin-top: 20upx;
  548. }
  549. .shoppingCart .list .item .picTxt .text .reElection .title {
  550. font-size: 24upx;
  551. }
  552. .shoppingCart .list .item .picTxt .text .reElection .reBnt {
  553. width: 120upx;
  554. height: 46upx;
  555. border-radius: 23upx;
  556. font-size: 26upx;
  557. }
  558. .shoppingCart .list .item .picTxt .text .infor {
  559. font-size: 22rpx;
  560. line-height: 30rpx;
  561. color: #999999;
  562. margin-top: 12rpx;
  563. }
  564. .shoppingCart .list .item .picTxt .text .money {
  565. font-size: 36rpx;
  566. line-height: 36rpx;
  567. color: #333333;
  568. margin-top: 18rpx;
  569. font-family: Regular;
  570. }
  571. .shoppingCart .list .item .picTxt .carnum {
  572. height: 36rpx;
  573. // position: absolute;
  574. // bottom: 7upx;
  575. // right: 0;
  576. }
  577. .shoppingCart .list .item .picTxt .carnum view {
  578. // border: 1upx solid #a4a4a4;
  579. width: 32rpx;
  580. text-align: center;
  581. height: 100%;
  582. line-height: 36rpx;
  583. font-size: 24rpx;
  584. color: #333333;
  585. }
  586. .shoppingCart .list .item .picTxt .carnum .reduce {
  587. border-right: 0;
  588. border-radius: 30upx 0 0 30upx;
  589. }
  590. .shoppingCart .list .item .picTxt .carnum .reduce.on {
  591. border-color: #e3e3e3;
  592. color: #dedede;
  593. }
  594. .shoppingCart .list .item .picTxt .carnum .plus {
  595. border-left: 0;
  596. border-radius: 0 30upx 30upx 0;
  597. }
  598. .shoppingCart .list .item .picTxt .carnum .num {
  599. color: #282828;
  600. }
  601. .shoppingCart .list .item .picTxt .carnum .num0 {
  602. color: #a4a4a4;
  603. }
  604. .shoppingCart .list .item .picTxt .carnum .nums {
  605. width: 72rpx;
  606. border-radius: 4rpx;
  607. background: #F5F5F5;
  608. }
  609. .shoppingCart .invalidGoods {
  610. background-color: #fff;
  611. }
  612. .shoppingCart .invalidGoods .goodsNav {
  613. width: 100%;
  614. height: 66upx;
  615. padding: 0 30upx;
  616. box-sizing: border-box;
  617. font-size: 28upx;
  618. color: #282828;
  619. }
  620. .shoppingCart .invalidGoods .goodsNav .iconfont {
  621. color: #424242;
  622. font-size: 28upx;
  623. margin-right: 17upx;
  624. }
  625. .shoppingCart .invalidGoods .goodsNav .del {
  626. font-size: 26upx;
  627. color: #999;
  628. }
  629. .shoppingCart .invalidGoods .goodsNav .del .icon-shanchu1 {
  630. color: #999;
  631. font-size: 33upx;
  632. vertical-align: -2upx;
  633. margin-right: 8upx;
  634. }
  635. .shoppingCart .invalidGoods .goodsList .item {
  636. padding: 20upx 30upx;
  637. border-top: 1upx solid #f5f5f5;
  638. }
  639. .shoppingCart .invalidGoods .goodsList .item .invalid {
  640. font-size: 22upx;
  641. color: #fff;
  642. width: 70upx;
  643. height: 36upx;
  644. background-color: #aaa;
  645. border-radius: 3upx;
  646. text-align: center;
  647. line-height: 36upx;
  648. }
  649. .shoppingCart .invalidGoods .goodsList .item .pictrue {
  650. width: 140upx;
  651. height: 140upx;
  652. }
  653. .shoppingCart .invalidGoods .goodsList .item .pictrue image {
  654. width: 100%;
  655. height: 100%;
  656. border-radius: 6upx;
  657. }
  658. .shoppingCart .invalidGoods .goodsList .item .text {
  659. width: 433upx;
  660. font-size: 28upx;
  661. color: #999;
  662. height: 140upx;
  663. }
  664. .shoppingCart .invalidGoods .goodsList .item .text .name {
  665. width: 100%;
  666. }
  667. .shoppingCart .invalidGoods .goodsList .item .text .infor {
  668. font-size: 24upx;
  669. }
  670. .shoppingCart .invalidGoods .goodsList .item .text .end {
  671. font-size: 26upx;
  672. color: #bbb;
  673. }
  674. .shoppingCart .footer {
  675. // z-index: 999;
  676. width: 100%;
  677. background: #FFFFFF;
  678. position: fixed;
  679. padding: 0 20rpx 0 32rpx;
  680. box-sizing: border-box;
  681. bottom: 0;
  682. left: 0;
  683. height: 96rpx;
  684. height: calc(96rpx+ constant(safe-area-inset-bottom)); ///兼容 IOS<11.2/
  685. height: calc(96rpx + env(safe-area-inset-bottom)); ///兼容 IOS>11.2/
  686. padding-bottom: constant(safe-area-inset-bottom); ///兼容 IOS<11.2/
  687. padding-bottom: env(safe-area-inset-bottom); ///兼容 IOS>11.2/
  688. }
  689. .shoppingCart .footer.on {
  690. // #ifndef H5
  691. bottom: 0upx;
  692. // #endif
  693. }
  694. .shoppingCart .footer .iconfont {
  695. font-size: 40rpx;
  696. color: #CCCCCC;
  697. }
  698. .shoppingCart .footer .icon-a-ic_CompleteSelect {
  699. color: #2A7EFB;
  700. }
  701. .shoppingCart .footer .checkAll {
  702. font-size: 28upx;
  703. color: #282828;
  704. margin-left: 16upx;
  705. }
  706. // .shoppingCart .footer checkbox .wx-checkbox-input{background-color:#fafafa;}
  707. .shoppingCart .footer .money {
  708. font-size: 24rpx;
  709. height: 64rpx;
  710. padding: 0 32rpx;
  711. background: #2A7EFB;
  712. border-radius: 32rpx;
  713. font-weight: 400;
  714. color: #FFFFFF;
  715. line-height: 64rpx;
  716. }
  717. .shoppingCart .footer .placeOrder {
  718. color: #fff;
  719. font-size: 30upx;
  720. width: 226upx;
  721. height: 70upx;
  722. border-radius: 50upx;
  723. text-align: center;
  724. line-height: 70upx;
  725. margin-left: 22upx;
  726. }
  727. .shoppingCart .footer .button .bnt {
  728. font-size: 28upx;
  729. color: #999;
  730. border-radius: 50upx;
  731. border: 1px solid #999;
  732. width: 160upx;
  733. height: 60upx;
  734. text-align: center;
  735. line-height: 60upx;
  736. }
  737. .shoppingCart .footer .button form~form {
  738. margin-left: 17upx;
  739. }
  740. .uni-p-b-96 {
  741. height: 96upx;
  742. }
  743. </style>
  744. <style scoped lang="scss">
  745. .writeoff {
  746. opacity: 0.6;
  747. }
  748. .he {
  749. display: flex;
  750. justify-content: space-between;
  751. .txt {
  752. font-size: 22upx;
  753. }
  754. }
  755. .xuan {
  756. // width: 40upx;
  757. // height: 40upx;
  758. // border: 2upx solid #CCCCCC;
  759. // border-radius: 30upx;
  760. }
  761. .noxuan {
  762. cursor: not-allowed;
  763. }
  764. .q {
  765. background-color: #4276F6;
  766. line-height: 40upx;
  767. color: #FFF;
  768. font-size: 24upx;
  769. text-align: center;
  770. }
  771. .dui {
  772. line-height: 40upx;
  773. color: #FFF;
  774. font-size: 24upx;
  775. text-align: center;
  776. }
  777. .box {
  778. position: fixed;
  779. top: 0;
  780. bottom: 0;
  781. width: 100%;
  782. height: 100%;
  783. z-index: 10;
  784. background-color: #78797a;
  785. .small_box {
  786. position: fixed;
  787. top: 50%;
  788. right: 75rpx;
  789. left: 75rpx;
  790. padding: 40rpx;
  791. border-radius: 32rpx;
  792. background: #FFFFFF;
  793. transform: translateY(-50%);
  794. image {
  795. width: 100%;
  796. height: 228upx;
  797. }
  798. .content {
  799. // height: 200upx;
  800. text-align: center;
  801. .font {
  802. font-weight: 500;
  803. font-size: 32rpx;
  804. line-height: 52rpx;
  805. color: #333333;
  806. }
  807. .small_font {
  808. margin-top: 24rpx;
  809. font-size: 30rpx;
  810. line-height: 42rpx;
  811. color: #666666;
  812. }
  813. }
  814. .btn-box {
  815. margin-top: 40rpx;
  816. }
  817. .btn {
  818. flex: 1;
  819. height: 72rpx;
  820. border: 1rpx solid #2A7EFB;
  821. border-radius: 36rpx;
  822. margin-left: 32rpx;
  823. transform: rotateZ(360deg);
  824. text-align: center;
  825. font-weight: 500;
  826. font-size: 26rpx;
  827. line-height: 70rpx;
  828. color: #2A7EFB;
  829. &:first-child {
  830. margin-left: 0;
  831. }
  832. &.on {
  833. background: #2A7EFB;
  834. color: #FFFFFF;
  835. }
  836. }
  837. .btn_no {
  838. // flex: 1;
  839. // color: #999999;
  840. // margin-top: 28upx;
  841. // text-align: center;
  842. // font-size: 30upx;
  843. }
  844. }
  845. }
  846. .shoppingCart .content {
  847. padding: 32rpx 24rpx;
  848. margin-top: 20rpx;
  849. border-radius: 24rpx;
  850. background: #FFFFFF;
  851. .list_top {
  852. background-color: #FFFFFF;
  853. font-size: 28upx;
  854. color: #333333;
  855. height: 90upx;
  856. line-height: 90upx;
  857. padding-left: 24upx;
  858. border-bottom: 2upx solid #EEEEEE;
  859. .bluefont {
  860. color: #1890FF;
  861. display: inline-block;
  862. margin: 0upx 10upx;
  863. }
  864. .garyfont {
  865. color: #999999;
  866. }
  867. }
  868. }
  869. </style>