confirmCompanyOrder.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798
  1. <template>
  2. <view>
  3. <view class="inner-box">
  4. <!-- 商品列表 -->
  5. <view class="goods-list">
  6. <view v-for="(item,index) in carts" :key="index" class="item">
  7. <view class="img-box">
  8. <image :src="item.productImage" mode="aspectFill"></image>
  9. </view>
  10. <view class="info-box">
  11. <view>
  12. <view class="name-box ellipsis2">
  13. <view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>{{item.productName}}
  14. </view>
  15. <view class="spec ellipsis2">{{item.productAttrName}}</view>
  16. </view>
  17. <view class="price-num">
  18. <view class="price" @click.stop>
  19. <text class="unit">¥</text>
  20. <text class="num">{{item.price.toFixed(2)}}</text>
  21. </view>
  22. <view class="num">x{{item.cartNum}}</view>
  23. </view>
  24. </view>
  25. </view>
  26. </view>
  27. <view class="title">赠品列表</view>
  28. <view class="goods-list">
  29. <view v-for="(item,index) in giftCarts" :key="index" class="item" >
  30. <view class="img-box">
  31. <image :src="item.productImage" mode="aspectFill"></image>
  32. </view>
  33. <view class="info-box">
  34. <view>
  35. <view class="name-box-r">
  36. <view class="name-box ellipsis2">
  37. <view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>
  38. {{item.productName}}
  39. </view>
  40. <view class="del" @click="delCart(item)" >删除</view>
  41. </view>
  42. <view class="spec ellipsis2">{{item.productAttrName}}</view>
  43. </view>
  44. <view class="price-num">
  45. <view class="price" @click.stop>
  46. <text class="unit">¥</text>
  47. <text class="num">{{item.price.toFixed(2)}}</text>
  48. </view>
  49. <view class="num">x{{item.cartNum}}</view>
  50. </view>
  51. </view>
  52. </view>
  53. <!-- 小计 -->
  54. <view class="sub-total">
  55. <view class="addgift" @click="addgift">新增赠品</view>
  56. <view style="flex: 1;display: flex;justify-content: flex-end;">
  57. <text class="label">合计金额:</text>
  58. <view class="price">
  59. <text class="unit">¥</text>
  60. <text class="num">{{price.payPrice.toFixed(2)}}</text>
  61. </view>
  62. </view>
  63. </view>
  64. </view>
  65. </view>
  66. <!-- 底部按钮 -->
  67. <view class="btn-foot">
  68. <view class="right">
  69. <view class="total" >
  70. <text class="label">总金额:</text>
  71. <view class="price">
  72. <text class="unit">¥</text>
  73. <text class="num">{{price.totalPrice.toFixed(2)}}</text>
  74. </view>
  75. </view>
  76. <view class="btn" @click="openUpdateMoney()" >
  77. {{createSalesOrderType==1?'修改金额':'实收金额'}}
  78. </view>
  79. <view class="btn" @click="getshow">
  80. 分享
  81. <button class="share" data-name="shareBtn" open-type="share" v-if="isshow">分享</button>
  82. </view>
  83. </view>
  84. </view>
  85. <modal v-if="inputShow" title="实收金额" confirm-text="保存" cancel-text="取消" @cancel="cancelUpdateMoney" @confirm="confirmUpdateMoney">
  86. <input type="text" v-model="inputTxt" placeholder="请输入实收金额" class="intxt" maxlength="8" />
  87. </modal>
  88. <u-popup :show="show" mode="bottom" :closeOnClickOverlay="false">
  89. <view class="popbox-title">
  90. <view style="color:#888" ></view>
  91. <view>修改商品单价</view>
  92. <view style="color:red" @click="confirmUpdate">确定</view>
  93. </view>
  94. <scroll-view :scroll-y="true" class="popbox" style="height: 70vh;">
  95. <view class="goods-list">
  96. <view v-for="(item,index) in cartsNew" :key="index" class="item">
  97. <view class="img-box">
  98. <image :src="item.productImage" mode="aspectFill"></image>
  99. </view>
  100. <view class="info-box">
  101. <view>
  102. <view class="name-box ellipsis2">
  103. <view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>{{item.productName}}
  104. </view>
  105. <view class="spec ellipsis2">{{item.productAttrName}}</view>
  106. </view>
  107. <view class="price-num">
  108. <view class="price" @click.stop>
  109. <text class="unit">¥</text>
  110. <u--input
  111. :customStyle="{padding: '0 2px',width:'60px'}"
  112. placeholder="价格"
  113. type="digit"
  114. maxlength="20"
  115. border="surround"
  116. v-model.trim="item.price"
  117. @blur="blur($event,item)"
  118. ></u--input>
  119. </view>
  120. <!-- <view class="num">x{{item.cartNum}}</view> -->
  121. <view class="change-num-box">
  122. <view class="img-box-num" @click="delNum(item)">
  123. <image v-if="item.cartNum <= 1" src="../../static/images/jian.png" mode=""></image>
  124. <image v-else src="../../static/images/jian2.png" mode=""></image>
  125. </view>
  126. <input type="number" @change="changeNum($event,item)" :value="item.cartNum" />
  127. <view class="img-box-num" @click="addNum(item)">
  128. <image src="../../static/images/add.png" mode=""></image>
  129. </view>
  130. </view>
  131. </view>
  132. </view>
  133. </view>
  134. <view class="title">赠品列表</view>
  135. <view v-for="(item,index) in giftCartsNew" :key="index" class="item">
  136. <view class="img-box">
  137. <image :src="item.productImage" mode="aspectFill"></image>
  138. </view>
  139. <view class="info-box">
  140. <view>
  141. <view class="name-box ellipsis2">
  142. <view class="tag">{{utils.getDictLabelName("storeProductType",item.productType)}}</view>{{item.productName}}
  143. </view>
  144. <view class="spec ellipsis2">{{item.productAttrName}}</view>
  145. </view>
  146. <view class="price-num">
  147. <view class="price" @click.stop>
  148. <text class="unit">¥</text>
  149. <u--input
  150. :customStyle="{padding: '0 2px',width:'60px'}"
  151. placeholder="价格"
  152. type="digit"
  153. maxlength="20"
  154. border="surround"
  155. v-model.trim="item.price"
  156. @blur="blur($event,item)"
  157. ></u--input>
  158. </view>
  159. <!-- <view class="num">x{{item.cartNum}}</view> -->
  160. <view class="change-num-box">
  161. <view class="img-box-num" @click="delNum(item)">
  162. <image v-if="item.cartNum <= 1" src="../../static/images/jian.png" mode=""></image>
  163. <image v-else src="../../static/images/jian2.png" mode=""></image>
  164. </view>
  165. <input type="number" @change="changeNum($event,item)" :value="item.cartNum" />
  166. <view class="img-box-num" @click="addNum(item)">
  167. <image src="../../static/images/add.png" mode=""></image>
  168. </view>
  169. </view>
  170. </view>
  171. </view>
  172. </view>
  173. </view>
  174. </scroll-view>
  175. </u-popup>
  176. </view>
  177. </template>
  178. <script>
  179. import {delCart,cartNum} from '@/api/product'
  180. import {getpro} from "@/api/index.js"
  181. import {getSalesOrder,addUserCart,updateSalseOrderMoney,updateSalesOrderMoneyByProduct} from '@/api/companyOrder.js'
  182. export default {
  183. data() {
  184. return {
  185. inputShow:false,
  186. inputTxt:null,
  187. orderKey:null,
  188. // 原来数据
  189. price:{
  190. payPrice:0.00,
  191. totalPrice:0.00,
  192. },
  193. // 原来数据
  194. carts:[],
  195. giftCarts: [],
  196. cartsNew: [],
  197. giftCartsNew: [],
  198. // 类型
  199. createSalesOrderType: 1,
  200. show: false,
  201. isshow:true,
  202. isSure:false
  203. }
  204. },
  205. onLoad(option) {
  206. this.orderKey=option.orderKey;
  207. this.getConfigByKey()
  208. },
  209. //发送给朋友
  210. onShareAppMessage(res) {
  211. return {
  212. title: "倍力优",
  213. path: '/pages_company/order/confirmOrder?orderKey='+this.orderKey,
  214. imageUrl: this.carts[0].productImage //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
  215. }
  216. },
  217. //分享到朋友圈
  218. onShareTimeline(res) {
  219. return {
  220. title:"倍力优",
  221. query:'orderKey='+this.orderKey,
  222. imageUrl: this.carts[0].productImage //分享图标,路径可以是本地文件路径、代码包文件路径或者网络图片路径.支持PNG及JPG。显示图片长宽比是 5:4
  223. }
  224. },
  225. onShow() {
  226. this.getSalesOrder();
  227. },
  228. methods: {
  229. getshow(){
  230. if(!this.isshow){
  231. uni.showToast({
  232. title: '请修改赠品金额!',
  233. icon: "none"
  234. })
  235. }
  236. },
  237. getConfigByKey(){
  238. const data={
  239. key:"store.config"
  240. }
  241. getpro(data).then(res=>{
  242. if(res&&res.data) {
  243. this.createSalesOrderType = JSON.parse(res.data).createSalesOrderType || 1
  244. } else {
  245. this.createSalesOrderType = 1
  246. }
  247. })
  248. },
  249. blur(value,item) {
  250. item.price = typeof item.price === 'string' ? item.price.trim() : String(item.price || 0).trim();
  251. let price = item.price
  252. const regex = /^(0|[1-9]\d*)(\.\d{1,2})?$/;
  253. if(!regex.test(price.trim())) {
  254. uni.showToast({
  255. title: '请输入正确的金额',
  256. icon: "none"
  257. })
  258. return
  259. }
  260. },
  261. confirmUpdate(type) {
  262. const regex = /^(0|[1-9]\d*)(\.\d{1,2})?$/;
  263. let flag = this.cartsNew.some(item=> {
  264. let price = typeof item.price === 'string' ? item.price.trim() : String(item.price || 0).trim()
  265. return !regex.test(price)
  266. })
  267. let flag2 = this.giftCartsNew.some(item=> {
  268. let price = typeof item.price === 'string' ? item.price.trim() : String(item.price || 0).trim()
  269. return !regex.test(price)
  270. })
  271. if(flag||flag2) {
  272. uni.showToast({
  273. title: '请输入正确的金额',
  274. icon: "none"
  275. })
  276. return
  277. }
  278. if(type!=1) {
  279. this.show = false
  280. }
  281. const param = {
  282. createOrderKey:this.orderKey,
  283. token:uni.getStorageSync('CompanyUserToken'),
  284. carts: this.cartsNew,
  285. giftCarts: this.giftCartsNew
  286. }
  287. uni.showLoading({
  288. title: '处理中'
  289. })
  290. updateSalesOrderMoneyByProduct(param).then(
  291. res => {
  292. uni.hideLoading()
  293. if(res.code==200){
  294. this.isSure=true
  295. this.getSalesOrder();
  296. }else{
  297. uni.showToast({
  298. icon:'none',
  299. title: res.msg,
  300. });
  301. }
  302. },
  303. rej => {}
  304. ).catch(()=>{
  305. uni.hideLoading()
  306. })
  307. },
  308. openUpdateMoney(){
  309. if(this.createSalesOrderType==1) {
  310. this.cartsNew = uni.$u.deepClone(this.carts)
  311. this.giftCartsNew = uni.$u.deepClone(this.giftCarts)
  312. this.show = true
  313. } else {
  314. this.inputShow = true
  315. }
  316. },
  317. cancelUpdateMoney(){
  318. this.inputShow = false
  319. },
  320. confirmUpdateMoney(){
  321. if(parseFloat(this.inputTxt)>0){
  322. var that=this;
  323. var data={createOrderKey:this.orderKey,token:uni.getStorageSync('CompanyUserToken'),money:this.inputTxt}
  324. updateSalseOrderMoney(data).then(
  325. res => {
  326. if(res.code==200){
  327. this.inputShow = false
  328. this.getSalesOrder();
  329. }else{
  330. uni.showToast({
  331. icon:'none',
  332. title: res.msg,
  333. });
  334. }
  335. },
  336. rej => {}
  337. );
  338. }
  339. else{
  340. uni.showToast({
  341. icon:'none',
  342. title: "价格应大于0",
  343. });
  344. }
  345. },
  346. showDetail(item) {
  347. uni.navigateTo({
  348. url: 'productDetails?productId='+item.productId
  349. })
  350. },
  351. getSalesOrder(){
  352. var that=this;
  353. that.price.payPrice=0;
  354. that.price.totalPrice=0;
  355. var data={createOrderKey:this.orderKey}
  356. getSalesOrder(data).then(
  357. res => {
  358. if(res.code==200){
  359. this.carts=res.carts;
  360. this.giftCarts = res.giftCarts;
  361. this.carts.forEach(function(element) {
  362. that.price.payPrice+=element.price*element.cartNum;
  363. });
  364. this.giftCarts.forEach(function(element) {
  365. that.price.payPrice+=element.price*element.cartNum;
  366. });
  367. that.price.totalPrice=res.totalMoney
  368. that.cartsNew = uni.$u.deepClone(that.carts)
  369. that.giftCartsNew = uni.$u.deepClone(that.giftCarts)
  370. if(this.giftCarts.length>0&&!this.isSure){
  371. this.isshow=false
  372. console.log('酷酷酷',this.isshow)
  373. }else if(this.isSure){
  374. this.isshow=true
  375. }
  376. }else{
  377. uni.showToast({
  378. icon:'none',
  379. title: res.msg,
  380. });
  381. }
  382. },
  383. rej => {}
  384. );
  385. },
  386. addgift() {
  387. uni.navigateTo({
  388. url: '/pages_company/order/productGiftList'
  389. })
  390. },
  391. delCart(item){
  392. let data = {ids:[item.id]};
  393. delCart(data).then(
  394. res => {
  395. if(res.code==200){
  396. uni.showToast({
  397. icon:'success',
  398. title: "操作成功",
  399. });
  400. this.getSalesOrder();
  401. }else{
  402. uni.showToast({
  403. icon:'none',
  404. title: res.msg,
  405. });
  406. }
  407. },
  408. rej => {}
  409. );
  410. },
  411. changeNum(e,item) {
  412. item.cartNum = e.detail.value.replace(/\D/g, '')
  413. if (item.cartNum <= 1) {
  414. uni.showToast({
  415. title: "已经是底线啦!",
  416. icon: "none",
  417. duration: 2000
  418. });
  419. return;
  420. }
  421. if(item.cartNum < 1) {
  422. item.cartNum = 1
  423. }
  424. if(item.cartNum>=item.stock){
  425. item.cartNum=item.stock;
  426. }
  427. this.changeCartNum(item)
  428. },
  429. changeCartNum(item){
  430. this.confirmUpdate(1)
  431. },
  432. // 购物车减法
  433. delNum(item) {
  434. if (item.cartNum <= 1) {
  435. uni.showToast({
  436. title: "已经是底线啦!",
  437. icon: "none",
  438. duration: 2000
  439. });
  440. return;
  441. }
  442. item.cartNum --
  443. if(item.cartNum < 1) {
  444. item.cartNum = 1
  445. }
  446. this.changeCartNum(item)
  447. },
  448. // 购物车加法
  449. addNum(item) {
  450. console.log(item)
  451. item.cartNum++
  452. if(item.cartNum>=item.stock){
  453. item.cartNum=item.stock;
  454. }
  455. this.changeCartNum(item)
  456. },
  457. }
  458. }
  459. </script>
  460. <style lang="scss">
  461. .popbox {
  462. background-color: #fff;
  463. &-title {
  464. width: 100%;
  465. display: flex;
  466. align-items: center;
  467. justify-content: space-between;
  468. padding: 24rpx;
  469. background-color: #fff;
  470. border-bottom: 1rpx solid #EDEEEF;
  471. box-sizing: border-box;
  472. }
  473. }
  474. .title {
  475. padding: 24rpx 0 0;
  476. font-weight: bold;
  477. }
  478. .inner-box{
  479. padding: 20upx 20upx 140upx;
  480. }
  481. .goods-list{
  482. margin-top: 20upx;
  483. padding: 0 30upx;
  484. background-color: #FFFFFF;
  485. border-radius: 16upx;
  486. .item{
  487. padding: 30upx 0;
  488. border-bottom: 1px solid #EDEEEF;
  489. display: flex;
  490. align-items: center;
  491. .img-box{
  492. width: 160upx;
  493. height: 160upx;
  494. margin-right: 30upx;
  495. image{
  496. width: 100%;
  497. height: 100%;
  498. }
  499. }
  500. .info-box{
  501. width: calc(100% - 190upx);
  502. height: 160upx;
  503. display: flex;
  504. flex-direction: column;
  505. justify-content: space-between;
  506. .name-box-r {
  507. display: flex;
  508. align-items: flex-start;
  509. justify-content: space-between;
  510. .del {
  511. font-size: 32upx;
  512. font-family: PingFang SC;
  513. font-weight: 500;
  514. color: red;
  515. }
  516. }
  517. .name-box{
  518. flex: 1;
  519. font-size: 28upx;
  520. font-family: PingFang SC;
  521. font-weight: 500;
  522. color: #111111;
  523. line-height: 40upx;
  524. .tag{
  525. display: inline-block;
  526. padding: 0 6upx;
  527. height: 30upx;
  528. background: linear-gradient(90deg, #3def30 0%,#018C39 100%);
  529. border-radius: 4upx;
  530. margin-right: 10upx;
  531. font-size: 22upx;
  532. font-family: PingFang SC;
  533. font-weight: bold;
  534. color: #FFFFFF;
  535. line-height: 30upx;
  536. float: left;
  537. margin-top: 7upx;
  538. }
  539. }
  540. .spec{
  541. margin-top: 10upx;
  542. font-size: 24upx;
  543. font-family: PingFang SC;
  544. font-weight: 500;
  545. color: #999999;
  546. line-height: 1;
  547. flex: 1;
  548. }
  549. .price-num{
  550. display: flex;
  551. align-items: center;
  552. justify-content: space-between;
  553. .price{
  554. display: flex;
  555. align-items: flex-end;
  556. .unit{
  557. font-size: 24upx;
  558. font-family: PingFang SC;
  559. font-weight: 500;
  560. color: #111111;
  561. line-height: 1.2;
  562. margin-right: 4upx;
  563. }
  564. .num{
  565. font-size: 32upx;
  566. font-family: PingFang SC;
  567. font-weight: 500;
  568. color: #111111;
  569. line-height: 1;
  570. }
  571. }
  572. .num{
  573. font-size: 24upx;
  574. font-family: PingFang SC;
  575. font-weight: 500;
  576. color: #999999;
  577. line-height: 1;
  578. }
  579. }
  580. }
  581. }
  582. .sub-total{
  583. height: 88upx;
  584. display: flex;
  585. align-items: center;
  586. justify-content: space-between;
  587. .addgift {
  588. padding: 10rpx 14rpx;
  589. color: #018C39;
  590. font-size: 28rpx;
  591. border-radius: 8rpx 8rpx 8rpx 8rpx;
  592. border: 2rpx solid #018C39;
  593. }
  594. .label{
  595. font-size: 24upx;
  596. font-family: PingFang SC;
  597. font-weight: 500;
  598. color: #999999;
  599. }
  600. .price{
  601. display: flex;
  602. align-items: flex-end;
  603. .unit{
  604. font-size: 24upx;
  605. font-family: PingFang SC;
  606. font-weight: 500;
  607. color: #FF6633;
  608. line-height: 1.2;
  609. margin-right: 4upx;
  610. }
  611. .num{
  612. font-size: 32upx;
  613. font-family: PingFang SC;
  614. font-weight: bold;
  615. color: #FF6633;
  616. line-height: 1;
  617. }
  618. }
  619. }
  620. }
  621. .points{
  622. height: 88upx;
  623. padding: 0 30upx;
  624. background: #FFFFFF;
  625. border-radius: 16upx;
  626. display: flex;
  627. align-items: center;
  628. justify-content: space-between;
  629. .left{
  630. display: flex;
  631. align-items: center;
  632. image{
  633. width: 28upx;
  634. height: 28upx;
  635. margin-right: 20upx;
  636. }
  637. .text{
  638. font-size: 28upx;
  639. font-family: PingFang SC;
  640. font-weight: 500;
  641. color: #666666;
  642. }
  643. }
  644. .right{
  645. display: flex;
  646. align-items: center;
  647. .text{
  648. font-size: 28upx;
  649. font-family: PingFang SC;
  650. font-weight: 500;
  651. color: #111111;
  652. }
  653. image{
  654. margin-left: 15upx;
  655. width: 14upx;
  656. height: 24upx;
  657. }
  658. }
  659. }
  660. .remarks{
  661. height: 88upx;
  662. padding: 0 30upx;
  663. background: #FFFFFF;
  664. border-radius: 16upx;
  665. margin-top: 20upx;
  666. display: flex;
  667. align-items: center;
  668. input{
  669. width: 100%;
  670. font-size: 28upx;
  671. font-family: PingFang SC;
  672. font-weight: 500;
  673. color: #000000;
  674. }
  675. .input{
  676. font-size: 28upx;
  677. font-family: PingFang SC;
  678. font-weight: 500;
  679. color: #999999;
  680. }
  681. }
  682. .btn-foot{
  683. box-sizing: border-box;
  684. width: 100%;
  685. height: 121upx;
  686. background: #FFFFFF;
  687. padding: 16upx 30upx;
  688. display: flex;
  689. align-items: center;
  690. justify-content: flex-end;
  691. position: fixed;
  692. left: 0;
  693. bottom: 0;
  694. z-index: 99;
  695. .right{
  696. display: flex;
  697. align-items: center;
  698. .total{
  699. display: flex;
  700. align-items: flex-end;
  701. margin-right: 15upx;
  702. .label{
  703. font-size: 26upx;
  704. font-family: PingFang SC;
  705. font-weight: 500;
  706. color: #999999;
  707. line-height: 1.5;
  708. }
  709. .price{
  710. display: flex;
  711. align-items: flex-end;
  712. .unit{
  713. font-size: 28upx;
  714. font-family: PingFang SC;
  715. font-weight: bold;
  716. color: #FF6633;
  717. line-height: 1.2;
  718. margin-right: 10upx;
  719. }
  720. .num{
  721. font-size: 32upx;
  722. font-family: PingFang SC;
  723. font-weight: bold;
  724. color: #FF6633;
  725. line-height: 1;
  726. }
  727. }
  728. }
  729. .btn{
  730. margin-left: 10rpx;
  731. width: 180upx;
  732. height: 88upx;
  733. line-height: 88upx;
  734. text-align: center;
  735. font-size: 30upx;
  736. font-family: PingFang SC;
  737. font-weight: bold;
  738. color: #FFFFFF;
  739. background:#018C39;
  740. border-radius: 44upx;
  741. position: relative;
  742. .share{
  743. display: inline-block;
  744. position: absolute;
  745. top: 0;
  746. left: 0;
  747. width: 100%;
  748. height: 100%rpx;
  749. opacity: 0;
  750. }
  751. }
  752. }
  753. }
  754. .change-num-box{
  755. display: flex;
  756. align-items: center;
  757. .img-box-num{
  758. width: 48upx;
  759. height: 48upx;
  760. // border-radius: 4upx;
  761. border: 1px solid #dddddd;
  762. display: flex;
  763. align-items: center;
  764. justify-content: center;
  765. image{
  766. width: 25rpx;
  767. height: 25rpx;
  768. }
  769. }
  770. input{
  771. width: 48upx;
  772. height: 48upx;
  773. line-height: 48upx;
  774. font-size: 28upx;
  775. font-family: PingFang SC;
  776. font-weight: 500;
  777. color: #111111;
  778. // border-radius: 4upx;
  779. border-top: 1px solid #dddddd;
  780. border-bottom: 1px solid #dddddd;
  781. text-align: center;
  782. // margin: 0 16upx;
  783. }
  784. }
  785. </style>