orderItemB.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695
  1. <template>
  2. <view style="background-color: whitesmoke;">
  3. <view class="itemV content" v-for="(item,indexo) in orderList">
  4. <view class="contentInRowS">
  5. <text class="timeText">{{item.ddId}}</text>
  6. <text v-if="item.collectPayment==1" class="jiedanBtdf" style="font-size: 24rpx;">{{$t('index.huodaofukan')}}</text>
  7. </view>
  8. <view class="contentColumn">
  9. <view class="contentInRowL">
  10. <text class="titleText" style="margin-left:20rpx;">{{$t('order.peisongfei')}}: {{$formPr(item.freight)}}{{$t('api.huobidanwei')}}</text>
  11. </view>
  12. <view class="contentInRowR">
  13. <text class="priceText" >{{$t('order.dingdanjin')}}: {{$formPr(item.amount)}}{{$t('api.huobidanwei')}}</text>
  14. </view>
  15. </view>
  16. <view v-if="item.activity" class="contentInRowL" style="margin-left:20rpx;">
  17. <text class="titleText">{{$t('index.youhuiq')}}:</text>
  18. <text class="titleText" style="padding-left: 20rpx;">{{item.activity.salesName}}</text>
  19. </view>
  20. <view style="width: 100%;margin-top: 20rpx;margin-left: 20rpx;" class="contentInRowL">
  21. <view v-if="item.store" class="contentColumn">
  22. <view>
  23. <text class="quhuodian">{{$t('order.quhuodian')}}</text>
  24. </view>
  25. <view style="margin-top: 20rpx;margin-left: 10rpx;width: 94%;">
  26. <text class="titleText">{{item.store.posName}}</text>
  27. </view>
  28. </view>
  29. </view>
  30. <view style="margin-left: 20rpx;margin-top: 20rpx;" class="contentInRowL">
  31. <view style="width: 100rpx" class="contentColumn">
  32. <text class="shouhuodian">{{$t('order.shouhuodian')}}</text>
  33. </view>
  34. <view style="margin-left: 20rpx;width: 80%;" class="contentColumn">
  35. <view v-if="item.shaddress!=null" @click="openBimg(item.shaddress.annexes)">
  36. <view class="contentInRowL">
  37. <text class="titleText">{{item.shaddress.name}}</text>
  38. <text class="distenText">({{$t('order.juli')}}{{item.jvli}}Km)</text>
  39. </view>
  40. <text class="addrText">{{item.shaddress.address}}</text>
  41. <text v-if="item.remarks!=''" class="noteText">{{item.remarks}}</text>
  42. </view>
  43. <view v-for="(itemf,index) in item.food">
  44. <view class="contentInRowL" style="margin-top: 12rpx;">
  45. <myImage class="spIcon" :mysrc="itemf.image" mymode="scaleToFill" ></myImage>
  46. <view class="contentColumn" style="margin-left: 10rpx;width: 78%;">
  47. <text class="addrText">{{itemf.name}}</text>
  48. <view class="contentInRowS">
  49. <view class="contentInRowL ">
  50. <text class="kouweisku" v-for="sku in itemf.ask">{{sku}}</text>
  51. </view>
  52. <text class="addrText">{{itemf.number}}(份)</text>
  53. </view>
  54. </view>
  55. </view>
  56. </view>
  57. </view>
  58. </view>
  59. <view v-if="item.activity" class="contentColumnC psfnote">
  60. <text v-if="item.activity.salesType==0" class="addrText" style="color:white;padding: 6rpx;">{{$t('order.qishouyhts')}}</text>
  61. </view>
  62. <view class="contentInRowS" style="width: 90%;margin-top: 20rpx;margin-left: 5%;">
  63. <view class="wanchengT" style="background-color: crimson;" @click="chakantp(item)">{{$t('order.chakantp')}}</view>
  64. <view class="wanchengT" style="background-color: #006AFF;" @click="wancheng(item)">{{$t('order.songda')}}</view>
  65. </view>
  66. <view v-if="item.shaddress!=null" class="contentInRowS" style="align-items: flex-start;">
  67. <view class="contentColumnC" style="margin:20rpx;padding-left: 10rpx;" @click="callPhone(item.shaddress.phone,item.user)">
  68. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="phone-filled" size="28"></uni-icons>
  69. <label class="jiedanText">{{$t('order.lianxi')}}</label>
  70. </view>
  71. <view class="contentColumnC" style="margin:20rpx;padding-right: 10rpx;" @click="gotoNav(item.shaddress)">
  72. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="navigate-filled" size="28"></uni-icons>
  73. <label class="jiedanText">Navigation</label>
  74. </view>
  75. <view v-if="canopenBimg(item.shaddress.annexes)" class="contentColumnC" style="margin:20rpx;padding-left: 10rpx;" @click="openBimg(item.shaddress.annexes)">
  76. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="home" size="28"></uni-icons>
  77. <label class="jiedanText">{{$t('order.menpaizp')}}</label>
  78. </view>
  79. <view class="contentColumnC" style="margin:20rpx;padding-left: 10rpx;" @click="Exchange(item.ddId,item.user)">
  80. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="chatboxes" size="28"></uni-icons>
  81. <label class="jiedanText">{{$t('exchange.xinxi')}}</label>
  82. </view>
  83. <view class="contentColumnC" style="margin:20rpx;padding-left: 10rpx;" @click="imCall(item.ddId,item.user)">
  84. <uni-icons custom-prefix="custom-icon" color="#006AFF" type="phone" size="28"></uni-icons>
  85. <label class="jiedanText">IM Call</label>
  86. </view>
  87. </view>
  88. </view>
  89. <uni-popup style="z-index: 9999;" ref="popqc" type="center" :isMaskClick="true" :safeArea="true">
  90. <view class="contentColumn" style="width:600rpx;background-color: whitesmoke;border-radius: 10rpx;">
  91. <view class="item_list">
  92. <view class="item_content" v-for="(itemi,indexi) in annexList" @click="imagesel(indexi)">
  93. <netImage v-if="itemi!=''" width="180" height="180" bradius="4" :mysrc="itemi" mymode="scaleToFill" ></netImage>
  94. </view>
  95. <view class="item_content" @click="updataImage">
  96. <image class="upimagV" src="/static/imags/shangctp.png" mode="scaleToFill"></image>
  97. </view>
  98. </view>
  99. <view class="contentInRowC">
  100. <text class="actbttext" style="background-color:rosybrown;" @click="quxiaoqc">{{$t('index.quxiao')}}</text>
  101. <text class="actbttext" style="background-color:#006Aff;" @click="querensongda">{{$t('order.songda')}}</text>
  102. </view>
  103. </view>
  104. </uni-popup>
  105. </view>
  106. </template>
  107. <script>
  108. import {
  109. UploadImage,
  110. setorderuzt,
  111. setLocat
  112. } from '@/pages/api/basic';
  113. export default {
  114. name:"orderItem",
  115. props:{
  116. orderList:'',
  117. qsId:'',
  118. },
  119. data() {
  120. return {
  121. isAndroid:true,
  122. annexList:[],
  123. actobj:''
  124. };
  125. },
  126. mounted() {
  127. let systemInfo = uni.getSystemInfoSync();
  128. this.isAndroid = systemInfo.platform.toLowerCase() === 'android';
  129. console.log('mounted------------------')
  130. },
  131. methods:{
  132. canopenBimg(mysrc){
  133. if(!mysrc){
  134. return false;
  135. }
  136. if(mysrc.length<8){
  137. return false;
  138. }
  139. return true;
  140. },
  141. openBimg(mysrc){
  142. if(!mysrc){
  143. return;
  144. }
  145. if(mysrc.length<8){
  146. return;
  147. }
  148. console.log(mysrc);
  149. uni.navigateTo({
  150. url:'/pages/index/BigimageView?mysrc='+mysrc
  151. })
  152. },
  153. // candianyw(obj){
  154. // var that = this;
  155. // uni.showModal({
  156. // title: that.$t('api.message'),
  157. // content:that.$t('order.qrcandianyw'),
  158. // confirmText:that.$t('index.queren'),
  159. // cancelText:that.$t('index.quxiao'),
  160. // success: function (res) {
  161. // if (res.confirm) { //这里是点击了确定以后
  162. // that.setorderuzt(obj.id,6);
  163. // } else { //这里是点击了取消以后
  164. // console.log('用户点击取消')
  165. // }
  166. // }
  167. // })
  168. // },
  169. chakantp(obj){
  170. // this.setorderuzt(obj.id,0)
  171. // return;
  172. var data={
  173. id:'',
  174. img:'[]'
  175. }
  176. if(obj.sqImg){
  177. data.img=obj.sqImg;
  178. }
  179. uni.navigateTo({
  180. url:'/pages/index/GoodsImages?obj='+JSON.stringify(data)
  181. })
  182. },
  183. wancheng(obj){
  184. this.actobj=obj;
  185. if(obj.sqImg){
  186. this.annexList=JSON.parse(obj.sqImg);
  187. }
  188. else{
  189. this.annexList=[];
  190. }
  191. if(this.actobj.collectPayment==0){
  192. this.$refs.popqc.open('center');
  193. }
  194. else{
  195. var that = this;
  196. uni.showModal({
  197. title: that.$t('api.message'),
  198. content:that.$t('index.shoukuanwc'),
  199. confirmText:that.$t('index.queren'),
  200. cancelText:that.$t('index.quxiao'),
  201. success: function (res) {
  202. if (res.confirm) { //这里是点击了确定以后
  203. that.$refs.popqc.open('center');
  204. } else { //这里是点击了取消以后
  205. console.log('点击取消')
  206. }
  207. }
  208. })
  209. }
  210. },
  211. querensongda(){
  212. //还要同步上传图片
  213. if(this.annexList.length==0){
  214. uni.showToast({
  215. title:this.$t('order.qingxiansctp'),
  216. icon: 'none',
  217. duration: 2500
  218. })
  219. return;
  220. }
  221. this.$refs.popqc.close();
  222. var data={
  223. id:this.actobj.id,
  224. state:12,
  225. qsImg:JSON.stringify(this.annexList)
  226. }
  227. this.$http.post(`${setorderuzt}`,data,true)
  228. .then(r => {
  229. console.log(r);
  230. this.$emit('ErefleshList');
  231. })
  232. .catch(err => {
  233. console.log(err)
  234. })
  235. },
  236. quxiaoqc(){
  237. this.$refs.popqc.close();
  238. },
  239. imagesel(index){
  240. },
  241. updataImage(){
  242. var that = this;
  243. uni.showModal({
  244. title: that.$t('api.message'),
  245. content:that.$t('order.qingxuanz'),
  246. confirmText:that.$t('order.qupaishe'),
  247. cancelText:that.$t('order.qushangc'),
  248. success: function (res) {
  249. if (res.confirm) { //这里是点击了确定以后
  250. that.getimage(2);
  251. } else { //这里是点击了取消以后
  252. console.log('点击取消')
  253. that.getimage(1)
  254. }
  255. }
  256. })
  257. },
  258. getimage(state){
  259. var sourceType=[];
  260. if(state==1){
  261. sourceType=['album']
  262. }
  263. else{
  264. sourceType=['camera']
  265. }
  266. var that = this;
  267. uni.chooseImage({
  268. count: 1, // 图片数量
  269. sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有
  270. sourceType:sourceType, //从相册选择或者拍照
  271. success: (res) => {
  272. const tempFilePaths = res.tempFilePaths;
  273. uni.uploadFile({
  274. url: that.$baseurl+UploadImage, //上传图片api
  275. filePath: tempFilePaths[0],
  276. name: 'file',
  277. header:{
  278. //"Authorization": userinfo.token
  279. },
  280. success: (res) => {
  281. let group = JSON.parse(res.data);
  282. var l = that.annexList.length;
  283. var temp = that.annexList;
  284. temp.push(group.data);
  285. that.annexList=temp;
  286. }
  287. });
  288. }
  289. });
  290. },
  291. callPhone(telphone,user){
  292. var that = this;
  293. uni.showModal({
  294. title: that.$t('api.message'),
  295. content:that.$t('api.nqdbddh'),
  296. confirmText:that.$t('index.queren'),
  297. cancelText:that.$t('index.quxiao'),
  298. success: function (res) {
  299. if (res.confirm) { //这里是点击了确定以后
  300. console.log('打电话')
  301. plus.device.dial(telphone, false );
  302. } else { //这里是点击了取消以后
  303. console.log('点击取消')
  304. }
  305. }
  306. })
  307. },
  308. imCall(ddid,user){
  309. var data = {
  310. ddId:ddid,
  311. userId:user.userId,
  312. nickName:user.nickName,
  313. avatar:user.avatar,
  314. cid:user.cid
  315. }
  316. uni.setStorageSync('imUser',user);
  317. uni.navigateTo({
  318. url:'/pages/imcall/audioCall?caller=1'
  319. })
  320. },
  321. Exchange(ddid,user){
  322. console.log(ddid,user);
  323. var data = {
  324. ddId:ddid,
  325. userId:user.userId,
  326. nickName:user.nickName,
  327. avatar:user.avatar,
  328. cid:user.cid
  329. }
  330. uni.setStorageSync('imUser',data);
  331. // uni.navigateTo({
  332. // url:'/pages/imcall/ExchangeView?caller=1'
  333. // })
  334. uni.navigateTo({
  335. url:'/pages/imcall/GoeasyExchange?caller=1'
  336. })
  337. },
  338. setorderuzt(rId,state,){
  339. var that = this;
  340. var data;
  341. if(state==3){
  342. data={
  343. id:rId,
  344. state:state,
  345. qsId:this.qsId
  346. }
  347. }
  348. else{
  349. data={
  350. id:rId,
  351. state:state,
  352. // qsId:'',
  353. // diningStatus:0
  354. qsId:this.qsId,
  355. diningStatus:1
  356. }
  357. }
  358. this.$http.post(`${setorderuzt}`,data,true)
  359. .then(r => {
  360. console.log('setorderuzt',r);
  361. this.$emit('ErefleshList');
  362. })
  363. .catch(err => {
  364. console.log(err)
  365. })
  366. },
  367. gotoNav(store){
  368. var navData={
  369. latitude:store.latitude,
  370. longitude:store.longitude,
  371. address:store.address
  372. }
  373. var temp = JSON.stringify(navData);
  374. uni.navigateTo({
  375. url:'/pages/map/mapboxView?navdata='+temp
  376. })
  377. //this.handlePosition(store.latitude,store.longitude,store.address);
  378. },
  379. handlePosition(lat,lon,cityName) {
  380. //如果是Andrios的设备
  381. if (plus.os.name == 'Android') {
  382. console.log('Android')
  383. const hasBaiduMap = plus.runtime.isApplicationExist({
  384. pname: 'com.baidu.BaiduMap',
  385. action: 'baidumap://'
  386. });
  387. const hasAmap = plus.runtime.isApplicationExist({
  388. pname: 'com.autonavi.minimap',
  389. action: 'androidamap://'
  390. });
  391. const hasgoogle = plus.runtime.isApplicationExist({
  392. pname: 'com.google.android.apps.maps',
  393. action: 'comgooglemaps://'
  394. });
  395. //重点是下面的url要根据官方给出的api进行对应,不同的需求对应不同的api
  396. let urlBaiduMap =
  397. 'baidumap://map/direction?region=起点&destination='+lat+','+lon+'&coord_type=wgs84&mode=riding&src=andr.paotuiwang.qishou';
  398. urlBaiduMap = encodeURI(urlBaiduMap)
  399. let urlAmap =
  400. 'androidamap://viewMap?sourceApplication=appname&poiname='+cityName+'&lat='+lat+'&lon='+lon+'&dev=1';
  401. urlAmap = encodeURI(urlAmap)
  402. var buttons=[];
  403. if(hasBaiduMap){
  404. buttons.push({
  405. title: this.$t('user.baiduNav'),
  406. value:urlBaiduMap
  407. })
  408. }
  409. if(hasAmap){
  410. buttons.push({
  411. title: this.$t('user.gaodeNav'),
  412. value:urlAmap
  413. })
  414. }
  415. // if(hasgoogle){
  416. // buttons.push({title: this.$t('user.googleNav')})
  417. // }
  418. if(buttons.length==0){
  419. if(hasgoogle){
  420. var url = 'google.navigation:q=' + lat + ',' + lon; //如果是国外应用,应该优先使用这个,会启动google地图。这个接口不能统一坐标系,进入百度地图时会有偏差
  421. plus.runtime.openURL(url);
  422. return;
  423. }
  424. }
  425. plus.nativeUI.actionSheet({
  426. title: this.$t('user.xuanzedaoh'),
  427. cancel: this.$t('index.quxiao'),
  428. buttons: buttons
  429. }, function(e) {
  430. plus.runtime.openURL(buttons[e.index-1].value);
  431. });
  432. } else {
  433. // iOS上获取本机是否安装了百度高德地图,需要在manifest里配置,在manifest.json文件app-plus->distribute->apple->urlschemewhitelist节点下添加(如urlschemewhitelist:["iosamap","baidumap"])
  434. var url='';
  435. var that = this;
  436. plus.nativeUI.actionSheet({
  437. title: this.$t('user.xuanzedaoh'),
  438. cancel: this.$t('index.quxiao'),
  439. buttons: [{
  440. title: this.$t('user.baiduNav')
  441. },{
  442. title: this.$t('user.gaodeNav')
  443. },{
  444. title: this.$t('user.googleNav')
  445. },{
  446. title: this.$t('user.appleNav')
  447. }]
  448. }, function(e) {
  449. switch (e.index) {
  450. case 1:
  451. url ='baidumap://map/marker?location='+lat+','+lon+'&title='+cityName+'&content='+cityName+'&coord_type=wgs84&src=ios.baidu.openAPIdemo';
  452. break;
  453. case 2:
  454. url ='iosamap://path?sourceApplication=fuxishan_uni_client&dlat='+lat+'&dlon='+lon+'&dname='+cityName+'&dev=1&t=0';
  455. break;
  456. case 3:
  457. url='comgooglemapsurl://?daddr='+ lat + ',' + lon;
  458. break;
  459. case 4:
  460. url = 'http://maps.apple.com/?q=' +cityName + '&ll=' + lat + ',' + lon + '&spn=0.008766,0.019441';
  461. break;
  462. default:
  463. break;
  464. }
  465. if (url!='') {
  466. url = encodeURI(url)
  467. plus.runtime.openURL(url, function(e) {
  468. plus.nativeUI.alert(that.$t('user.weianzhuangapp'));
  469. });
  470. }
  471. })
  472. }
  473. },
  474. },
  475. }
  476. </script>
  477. <style lang="scss">
  478. @import '@/common/common.scss';
  479. @font-face {
  480. font-family: zrht;
  481. src: url('/uni_modules/font/zrht.otf');
  482. }
  483. .itemV{
  484. margin-top: 16rpx;
  485. background-color: white;
  486. }
  487. .psfnote{
  488. width: 92%;
  489. margin-left: 4%;
  490. margin-top: 5rpx;
  491. border-radius: 10rpx;
  492. background-color: crimson;
  493. }
  494. .spIcon{
  495. width: 90rpx;
  496. height: 90rpx;
  497. }
  498. .kouweisku{
  499. color:chocolate;
  500. padding-right: 12rpx;
  501. font-size: 28rpx;
  502. }
  503. .qiangdImg{
  504. width: 120rpx;
  505. height: 120rpx;
  506. }
  507. .quhuodian{
  508. font-size: 26rpx;
  509. padding: 8rpx;
  510. color: royalblue;
  511. border-radius: 16rpx;
  512. border: solid royalblue;
  513. }
  514. .shouhuodian{
  515. font-size: 26rpx;
  516. padding: 8rpx;
  517. color: crimson;
  518. border-radius: 16rpx;
  519. border: solid crimson;
  520. }
  521. .lineimag{
  522. display: flex;
  523. flex-direction: column;
  524. justify-content: space-between;
  525. margin-left: 45rpx;
  526. width: 4rpx;
  527. background-color: lightgray;
  528. height: 100rpx;
  529. margin-top: 4rpx;
  530. margin-bottom: 4rpx;
  531. }
  532. .yuandian{
  533. width: 16rpx;
  534. height: 16rpx;
  535. background-color: lightgray;
  536. border-radius: 8rpx;
  537. margin-left: -8rpx;
  538. }
  539. .timeText{
  540. font-size: 32rpx;
  541. color: #006AFF;
  542. padding-left: 20rpx;
  543. font-weight: bold;
  544. }
  545. .priceText{
  546. font-size: 30rpx;
  547. color: crimson;
  548. padding-right: 20rpx;
  549. }
  550. .titleText{
  551. font-size: 28rpx;
  552. /* font-family: zrht; */
  553. }
  554. .pnametext{
  555. overflow: hidden;
  556. text-overflow: ellipsis;
  557. display: -webkit-box;
  558. -webkit-line-clamp: 1;
  559. -webkit-box-orient: vertical;
  560. }
  561. .distenText{
  562. font-size: 26rpx;
  563. color: darkgray;
  564. padding-left: 20rpx;
  565. }
  566. .addrText{
  567. font-size: 28rpx;
  568. color: dimgray;
  569. }
  570. .stateText{
  571. font-size: 28rpx;
  572. color: darkgray;
  573. padding: 8rpx;
  574. border: solid darkgray;
  575. border-radius: 8rpx;
  576. }
  577. .noteText{
  578. margin-top: 16rpx;
  579. font-size: 28rpx;
  580. color: dimgray;
  581. padding: 8rpx;
  582. background-color: whitesmoke;
  583. border-radius: 8rpx;
  584. }
  585. .connectText{
  586. font-size: 28rpx;
  587. color: black;
  588. padding-left: 8rpx;
  589. padding-right: 8rpx;
  590. padding-top: 2rpx;
  591. padding-bottom: 2rpx;
  592. border: 2rpx solid darkgray;
  593. border-radius: 8rpx;
  594. }
  595. .setImg{
  596. width: 30rpx;
  597. height: 30rpx;
  598. }
  599. .setImgB{
  600. width: 40rpx;
  601. height: 40rpx;
  602. }
  603. .jiedanText{
  604. font-size: 24rpx;
  605. color: black;
  606. }
  607. .jiedanTextS{
  608. font-size: 20rpx;
  609. color: black;
  610. }
  611. .wanchengV{
  612. width: 480rpx;
  613. height: 68rpx;
  614. border-radius: 10rpx;
  615. background-color: crimson;
  616. }
  617. .wanchengT{
  618. padding-left: 20rpx;
  619. padding-right: 20rpx;
  620. line-height: 68rpx;
  621. font-weight: bold;
  622. font-size: 26rpx;
  623. color: white;
  624. border-radius: 10rpx;
  625. text-align: center;
  626. }
  627. .jiedanBtdf{
  628. padding: 10rpx;
  629. color:white;
  630. background-color: #1A1A1A;
  631. border-radius: 8rpx;
  632. box-shadow: 0rpx 0rpx 2rpx 0rpx #1A1A1A;
  633. }
  634. .item_list{
  635. display: flex;
  636. flex-wrap: wrap;
  637. justify-content: flex-start;
  638. .item_content{
  639. width:180rpx;
  640. height:180rpx;
  641. margin: 10rpx;
  642. box-sizing: border-box;
  643. }
  644. }
  645. .upimagV{
  646. width: 180rpx;
  647. height:180rpx;
  648. }
  649. .actbttext{
  650. width: 50%;
  651. line-height: 66rpx;
  652. font-size: 28rpx;
  653. color: white;
  654. text-align: center;
  655. }
  656. </style>