sales_detail.vue 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386
  1. <!--销售详情-->
  2. <template>
  3. <view class="container">
  4. <view>
  5. <view class="back-btn cuIcon-back" @click="navBack"></view>
  6. <view class='title1'>销售详情</view>
  7. </view>
  8. <image style='width:100%;' src='../../static/img/jiaoyi/bg@3x.png'></image>
  9. <view class="introduce-section">
  10. <view style='height:70px;'>
  11. <view class="title">{{goods.title}}</view>
  12. <view class='flex justify-between'>
  13. <view style='flex:1.5;color:#878C9C;'>
  14. {{goods.sendPrivate}}{{goods.sendCity}}{{goods.sendArea}}{{goods.sendWarehouse}}
  15. </view>
  16. <view v-if='goods.salePlanType=="现货"' class="title-tip">
  17. {{goods.salePrice}}
  18. </view>
  19. <view style='text-align:right;' v-else class="title-tip">
  20. +{{goods.basisPrice}}
  21. </view>
  22. </view>
  23. <view style='text-align:right;' v-if='goods.salePlanType=="现货" && goods.salePrice'>销售价格</view>
  24. <view style='text-align:right;' v-if='goods.salePlanType=="期货"'>今日基差</view>
  25. </view>
  26. </view>
  27. <view v-if="goods.storeImg" class="carousel-section">
  28. <swiper autoplay="true" interval="3000" duration="500" class="carousel" circular @change="swiperChange">
  29. <swiper-item key="0" class="carousel-item">
  30. <image :src="goods.storeImg" @tap="ViewImage(goods.storeImg)" />
  31. </swiper-item>
  32. <swiper-item key="1" class="carousel-item">
  33. <image :src="goods.foodsImg" @tap="ViewImage(goods.foodsImg)" />
  34. </swiper-item>
  35. <swiper-item key="2" class="carousel-item">
  36. <image :src="goods.carImg" @tap="ViewImage(goods.carImg)" />
  37. </swiper-item>
  38. </swiper>
  39. <view class="swiper-dots">
  40. <text class="num">{{swiperCurrent+1}}</text>
  41. <text class="sign">/</text>
  42. <text class="num">{{swiperLength}}</text>
  43. </view>
  44. </view>
  45. <view class="detail-desc">
  46. <view class="d-header">
  47. <text>基本信息</text>
  48. </view>
  49. <view class="c-list">
  50. <view class="c-row">
  51. <text class="tit">货名</text>
  52. <view class="con-list">
  53. <text>{{goods.goodsName}}</text>
  54. </view>
  55. </view>
  56. <view class="c-row">
  57. <text class="tit">销售量(吨)</text>
  58. <view class="con-list">
  59. <text>{{goods.plannedSaleVolume}}</text>
  60. </view>
  61. </view>
  62. <view class="c-row">
  63. <text class="tit">最小成交量(吨)</text>
  64. <view class="con-list">
  65. <text>{{goods.minimumVolume}}</text>
  66. </view>
  67. </view>
  68. <view class="c-row">
  69. <text class="tit">类型</text>
  70. <view class="con-list">
  71. <text>{{goods.salePlanType}}</text>
  72. </view>
  73. </view>
  74. <view class="c-row">
  75. <text class="tit">价格类型</text>
  76. <view class="con-list">
  77. <text>{{goods.priceType}}</text>
  78. </view>
  79. </view>
  80. <view class="c-row" v-if="goods.salePlanType == '期货'">
  81. <text class="tit">基差(元/吨)</text>
  82. <view class="con-list">
  83. <text>{{goods.basisPrice}}</text>
  84. </view>
  85. </view>
  86. <view class="c-row" v-if="goods.salePlanType == '现货' && goods.salePrice">
  87. <text class="tit">销售价格(元/吨)</text>
  88. <view class="con-list">
  89. <text>{{goods.salePrice}}</text>
  90. </view>
  91. </view>
  92. <view class="c-row">
  93. <text class="tit">出货地区</text>
  94. <view class="con-list">
  95. <text>{{goods.sendPrivate}}{{goods.sendCity}}{{goods.sendArea}}</text>
  96. </view>
  97. </view>
  98. <view class="c-row">
  99. <text class="tit">运费承担方</text>
  100. <view class="con-list">
  101. <text>{{goods.freightPayer}}</text>
  102. </view>
  103. </view>
  104. <view class="c-row">
  105. <text class="tit">包装方式</text>
  106. <view class="con-list">
  107. <text>{{goods.packingType}}</text>
  108. </view>
  109. </view>
  110. <view class="c-row" v-if="goods.packingType == '大袋' || goods.packingType == '小袋'">
  111. <text class="tit">袋装备注</text>
  112. <view class="con-list">
  113. <text>{{goods.baggingNotes}}</text>
  114. </view>
  115. </view>
  116. <view class="c-row">
  117. <text class="tit">卖方</text>
  118. <view class="con-list">
  119. <text>{{goods.seller}}</text>
  120. </view>
  121. </view>
  122. <view class="c-row" @click="contactUs">
  123. <text class="tit">卖方电话</text>
  124. <view class="con-list">
  125. <view>{{goods.sellerPhone}}
  126. <image style='width:11px;height:11px;' src='../../static/img/jiaoyi/gengduo1@3x.png'>
  127. </image>
  128. </view>
  129. </view>
  130. </view>
  131. <view class="c-row">
  132. <text class="tit">发布时间</text>
  133. <view class="con-list">
  134. <text>{{goods.updateDate}}</text>
  135. </view>
  136. </view>
  137. </view>
  138. </view>
  139. <view class="detail-desc">
  140. <view class="d-header">
  141. <text>货物要求</text>
  142. </view>
  143. <view class="c-list">
  144. <view class="c-row" v-if="goods.waterContent">
  145. <text class="tit">水分(%){{'<='}} </text>
  146. <view class="con-list">
  147. <text>{{goods.waterContent}}</text>
  148. </view>
  149. </view>
  150. <view class="c-row" v-if="goods.bulkDensity">
  151. <text class="tit">容重(g/L){{'>='}}</text>
  152. <view class="con-list">
  153. <text>{{goods.bulkDensity}}</text>
  154. </view>
  155. </view>
  156. <view class="c-row" v-if="goods.jiaorenli">
  157. <text class="tit">热损伤(%){{'<='}}</text>
  158. <view class="con-list">
  159. <text>{{goods.jiaorenli}}</text>
  160. </view>
  161. </view>
  162. <view class="c-row" v-if="goods.impurity">
  163. <text class="tit">杂质(%){{'<='}}</text>
  164. <view class="con-list">
  165. <text>{{goods.impurity}}</text>
  166. </view>
  167. </view>
  168. <view class="c-row" v-if="goods.mildewGrain">
  169. <text class="tit">霉变粒(%){{'<='}}</text>
  170. <view class="con-list">
  171. <text>{{goods.mildewGrain}}</text>
  172. </view>
  173. </view>
  174. <view class="c-row" v-if="goods.imperfectGrain">
  175. <text class="tit">不完善粒(%){{'<='}}</text>
  176. <view class="con-list">
  177. <text>{{goods.imperfectGrain}}</text>
  178. </view>
  179. </view>
  180. <view class="c-row" v-if="goods.protein">
  181. <text class="tit">蛋白(%){{'>='}} </text>
  182. <view class="con-list">
  183. <text>{{goods.protein}}</text>
  184. </view>
  185. </view>
  186. <view class="c-row" v-if="goods.grain">
  187. <text class="tit">粒型</text>
  188. <view class="con-list">
  189. <text>{{goods.grain}}</text>
  190. </view>
  191. </view>
  192. <view class="c-row" v-if="goods.grade">
  193. <text class="tit">品级</text>
  194. <view class="con-list">
  195. <text>{{goods.grade}}</text>
  196. </view>
  197. </view>
  198. <view class="c-row" v-if="goods.outputPrivate&&goods.outputCity">
  199. <text class="tit">产地</text>
  200. <view class="con-list">
  201. <text>{{goods.outputPrivate}}{{goods.outputCity}}</text>
  202. </view>
  203. </view>
  204. <view class="c-row" v-if="goods.outputYear">
  205. <text class="tit">产出年份</text>
  206. <view class="con-list">
  207. <text>{{goods.outputYear}}</text>
  208. </view>
  209. </view>
  210. </view>
  211. </view>
  212. <view class="detail-desc" v-if="goods.remark || goods.addressUrl">
  213. <view class="d-header Medium">
  214. <text>备注信息</text>
  215. </view>
  216. <view class="c-list Regular">
  217. <view class="c-row" v-if="goods.remark">
  218. <text class="tit">备注</text>
  219. <view class="con-list">
  220. <text>{{goods.remark}}</text>
  221. </view>
  222. </view>
  223. <view class="c-row" v-if="goods.addressUrl" style="display: block;">
  224. <text class="tit">附件</text>
  225. <view class="con-list" style="text-align: center;">
  226. <view v-if='imgUrl.length>0'>
  227. <swiper class="screen-swiper header-swiper" :class="dotStyle?'square-dot':'round-dot'"
  228. :indicator-dots="false" :circular="true" interval="5000" :current="currentImg" @change="topSwiperTab">
  229. <swiper-item style="margin-top: 20rpx;" v-for="(item,index) in imgUrl" :key="index"
  230. :class="currentImg==index?'text-white':''" @click="preview(imgUrl,index)">
  231. <image :src="item"></image>
  232. </swiper-item>
  233. </swiper>
  234. <view class="dots">
  235. <text class='Regular'>{{currentImg+1}} / {{imgUrl.length}}</text>
  236. </view>
  237. </view>
  238. </view>
  239. </view>
  240. </view>
  241. </view>
  242. <view v-if='status' class='shade'>
  243. <view class='shade-content'>
  244. <view class='shade-content-item'>
  245. 您的粮商身份正在审核中,请耐心等待认证状态可在<text>我的-身份认证</text>中查看
  246. </view>
  247. <image @click='status=false' style='width:30px;height:30px;margin-top:10px;'
  248. src='../../static/img/jiaoyi/guanbi-2@3x.png'></image>
  249. </view>
  250. </view>
  251. <!-- 底部操作菜单 -->
  252. <view class="page-bottom1">
  253. <view>
  254. <button class="talk-online" @click="editInfo" v-if="show">编辑</button>
  255. <button type="primary" @click="contactUs">立即沟通</button>
  256. <!-- <button @click="salegrain" v-if="goods.pcFlag == 1" type="primary"
  257. class=" action-btn no-border add-cart-btn">立即买粮</button> -->
  258. <!-- <button v-else type="primary" class=" action-btn no-border add-cart-btn" @click="tradeNow">立即发车</button> -->
  259. </view>
  260. </view>
  261. <u-modal v-model="isShowAlert" :title-style="{fontSize: '18px',fontWeight:'500'}"
  262. :content-style="{fontSize: '14px',fontWeight:'400'}" confirm-color='#22C572' confirm-text='确定' title='提示'
  263. :showCancelButton='false' :content="content" @confirm="alertBtn" @cancel="cancelClick"></u-modal>
  264. </view>
  265. </template>
  266. <script>
  267. import uniNumberBox from '@/components/uni-number-box.vue';
  268. import {
  269. mapState
  270. } from 'vuex';
  271. export default {
  272. components: {
  273. uniNumberBox
  274. },
  275. data() {
  276. return {
  277. isShowAlert: false,
  278. content: '您尚未登录,是否立即登录?',
  279. show: false,
  280. dotStyle: false,
  281. currentImg: 0,
  282. imgUrl: [],
  283. swiperCurrent: 0,
  284. titleNViewBackground: '',
  285. swiperLength: 0,
  286. goods: {
  287. id: undefined,
  288. title: undefined,
  289. soldCount: 0,
  290. total: 0,
  291. price: 0,
  292. origin: undefined,
  293. stock: undefined,
  294. level: undefined,
  295. goodsName: undefined,
  296. smell: undefined,
  297. priceType: undefined,
  298. packing: undefined,
  299. year: undefined,
  300. waterContent: 0,
  301. bulkDensity: 0,
  302. moldy: 0,
  303. impurity: 0,
  304. overFlow: 0,
  305. buyer: '',
  306. buyerPhone: '',
  307. minSale: 0,
  308. status: 0,
  309. imglist2: [], //展示
  310. imglist: [], //存
  311. },
  312. imglist2: [], //展示
  313. imglist: [], //存
  314. status: false,
  315. share: {
  316. title: '',
  317. imageUrl: 'https://taohaoliang.oss-cn-beijing.aliyuncs.com/shareLogo.png',
  318. },
  319. reason: "",
  320. price: undefined,
  321. };
  322. },
  323. onShow() {},
  324. onLoad(options) {
  325. this.goods.compId = options.compId
  326. this.imgUrl = []
  327. const that = this
  328. uni.showLoading({
  329. title: '正在加载',
  330. mask: true
  331. })
  332. this.$api.doRequest('get', '/salePlanInfo/getSalePlanInfo', {
  333. id: options.id
  334. }).then(res => {
  335. uni.hideLoading()
  336. this.goods = res.data.data
  337. this.imglist = this.goods.addressUrl.split(',')
  338. if(that.goods.createUserId == uni.getStorageSync('userInfo').id){
  339. that.show = true
  340. }
  341. })
  342. },
  343. watch: {
  344. imglist: {
  345. handler: function() {
  346. this.$api.doRequest('get', 'appendix/query/getFileList', {
  347. appendixIds: this.imglist.toString()
  348. }).then(res => {
  349. this.imglist2 = res.data.data
  350. for (let i = 0; i < this.imglist2.length; i++) {
  351. // if (this.imglist2[i].appendixName) {
  352. // this.imglist2[i].type = this.imglist2[i].appendixName.split(".")[1]
  353. // }
  354. if (this.imglist2[i].appendixPath) {
  355. this.imgUrl.push(this.imglist2[i].appendixPath)
  356. }
  357. }
  358. })
  359. },
  360. deep: true
  361. }
  362. },
  363. computed: {
  364. ...mapState(['hasLogin', 'userInfo'])
  365. },
  366. methods: {
  367. topSwiperTab(e) {
  368. var that = this;
  369. this.currentImg = Number(e.target.current);
  370. },
  371. preview(img, index) {
  372. console.log("preview", img, index)
  373. uni.previewImage({
  374. urls: img,
  375. current: index
  376. });
  377. },
  378. // openDocument(src) {
  379. // uni.downloadFile({
  380. // url: src.appendixPath,
  381. // success: function(res) {
  382. // var filePath = res.tempFilePath;
  383. // uni.openDocument({
  384. // filePath: filePath,
  385. // showMenu: true,
  386. // success: function(res) {
  387. // console.log('打开文档成功');
  388. // }
  389. // });
  390. // }
  391. // });
  392. // },
  393. editInfo(){
  394. const that = this
  395. uni.navigateTo({
  396. url: '/pageD/myRelease/sellEdit?id='+that.goods.id+'&compId='+that.goods.compId
  397. })
  398. },
  399. alertBtn() {
  400. uni.navigateTo({
  401. url: '/pages/public/login'
  402. })
  403. },
  404. cancelClick() {
  405. this.isShowAlert = false
  406. },
  407. numFilter(value) {
  408. if (!value) {
  409. return 0
  410. }
  411. // 截取当前数据到小数点后两位
  412. let realVal = parseFloat(value).toFixed(2)
  413. return realVal
  414. },
  415. swiperChange(e) {
  416. const index = e.detail.current;
  417. this.swiperCurrent = index;
  418. },
  419. contactUs() {
  420. const that = this
  421. uni.makePhoneCall({
  422. // 手机号
  423. phoneNumber: that.goods.sellerPhone,
  424. // 成功回调
  425. success: (res) => {
  426. console.log('调用成功!')
  427. },
  428. // 失败回调
  429. fail: (res) => {
  430. console.log('调用失败!')
  431. that.contactUs()
  432. }
  433. });
  434. },
  435. ViewImage(e) {
  436. var img = [];
  437. img.push(e)
  438. uni.previewImage({
  439. current: 0,
  440. urls: img
  441. });
  442. },
  443. priceInput(e) {
  444. this.price = e.detail.value
  445. },
  446. reasonInput(e) {
  447. this.reason = e.detail.value
  448. },
  449. navToDetailPage() {
  450. const that = this
  451. uni.navigateTo({
  452. url: `/pageA/product/detail_upload?id=${that.goods.id}`
  453. })
  454. },
  455. changePrice(options) {
  456. const that = this
  457. uni.showLoading({
  458. title: '正在加载'
  459. })
  460. if (!that.price) {
  461. that.$api.msg('请输入修改价格')
  462. return
  463. }
  464. that.$api.request('sale', 'changePrice', {
  465. id: that.goods.id,
  466. price: that.price
  467. }, failres => {
  468. if (failres.errmsg) {
  469. uni.showToast({
  470. title: failres.errmsg,
  471. icon: 'none',
  472. duration: 2000
  473. })
  474. } else {
  475. uni.showToast({
  476. title: "系统异常,请联系管理员",
  477. icon: 'none',
  478. duration: 2000
  479. })
  480. }
  481. uni.hideLoading()
  482. }).then(res => {
  483. that.$api.msg('修改成功')
  484. uni.hideLoading()
  485. setTimeout(() => {
  486. uni.navigateBack()
  487. }, 1000);
  488. })
  489. },
  490. salegrain() {
  491. // uni.navigateTo({
  492. // url: `/pageA/product/business_buy?id=${this.goods.id}&receiveArea=${this.goods.receiveArea}&minimumVolume=${this.goods.minimumVolume}
  493. // &goodsName=${this.goods.goodsName}&receiveCity=${this.goods.receiveCity}&receivePrivate=${this.goods.receivePrivate}&buyer=${this.goods.buyer}
  494. // `
  495. // })
  496. // var that=this
  497. if (!this.hasLogin) {
  498. this.isShowAlert = true;
  499. // uni.showModal({
  500. // title: '提示',
  501. // content: '您尚未登录,是否立即登录?',
  502. // showCancel: true,
  503. // confirmText: '登录',
  504. // success: (e) => {
  505. // if (e.confirm) {
  506. // uni.navigateTo({
  507. // url: '/pages/public/login'
  508. // })
  509. // }
  510. // },
  511. // fail: () => {},
  512. // complete: () => {}
  513. // })
  514. } else {
  515. this.$api.doRequest('get', '/identityAuthenticationInfo/getInfo', {
  516. commonId: this.userInfo.id
  517. }).then(res => {
  518. if (res.data.code == 200) {
  519. uni.navigateTo({
  520. url: `/pageA/product/business_sale?id=${this.goods.id}&sendArea=${this.goods.sendArea}&minimumVolume=${this.goods.minimumVolume}&goodsName=${this.goods.goodsName}&sendCity=${this.goods.sendCity}&sendPrivate=${this.goods.sendPrivate}&seller=${this.goods.seller}&basisPrice=${this.goods.basisPrice}&salePrice=${this.goods.salePrice}&sendWarehouse=${this.goods.sendWarehouse}&salePlanType=${this.goods.salePlanType}&salePlan=${this.goods.salePlanNo}&baggingNotes=${this.goods.baggingNotes}&compId=${this.goods.compId}&invoiceFeeCompany=${this.goods.invoiceFeeCompany}&invoiceFeePerson=${this.goods.invoiceFeePerson}`
  521. // url: `/pageA/product/business_buy?id=${this.goods.id}&packing=${this.goods.packing}}&province=${this.goods.province}
  522. // &city=${this.goods.city}&area=${this.goods.area}&storeName=${this.goods.storeName}&seller=${this.goods.seller}
  523. // &companyId=${this.goods.companyId}&sellerPhone=${this.goods.sellerPhone}&minSale=${this.goods.minSale}
  524. // &exsitCount=${this.goods.total}&isFutures=${this.goods.isFutures}
  525. // &basis=${this.goods.basis}&basisSmall=${this.goods.basisSmall}&basisBig=${this.goods.basisBig}
  526. // &unloadingFee=${this.goods.unloadingFee}&goodsName=${this.goods.goodsName}&receivePrivate=${this.goods.receivePrivate}&receiveCity=${that.goods.receiveCity}
  527. // &receiveArea=${this.goods.receiveArea}&minimumVolume=${this.goods.minimumVolume}&buyer=${this.goods.buyer}`
  528. })
  529. } else if (res.data.code == 11016) {
  530. uni.showModal({
  531. title: '温馨提示',
  532. content: '您还未认证粮商身份, 下单前请先完善您的身份信息。',
  533. confirmText: "去认证",
  534. confirmColor: '#22C572',
  535. success: function(res) {
  536. if (res.confirm) {
  537. uni.navigateTo({ //跳转页面
  538. url: '/pages/attestation/index'
  539. })
  540. } else if (res.cancel) {}
  541. }
  542. });
  543. } else if (res.data.code == 11017) {
  544. this.status = true
  545. }
  546. })
  547. // uni.showModal({
  548. // title: '温馨提示',
  549. // content: '请在发车前认真核实买方身份,并在签订正规的交易合同后发起发车操作,是否继续发车?',
  550. // confirmText: "发车",
  551. // confirmColor: '#22C572',
  552. // success: function (res) {
  553. // if (res.confirm) {
  554. // uni.navigateTo({//跳转页面
  555. // url:"../index/index"
  556. // })
  557. // } else if (res.cancel) {
  558. // }
  559. // }
  560. // });
  561. // const that = this
  562. // uni.navigateTo({
  563. // url: `/pageA/product/trade?id=${that.goods.id}&packing=${that.goods.packing}}&province=${that.goods.province}
  564. // &city=${that.goods.city}&area=${that.goods.area}&storeName=${that.goods.storeName}&seller=${that.goods.seller}
  565. // &companyId=${that.goods.companyId}&sellerPhone=${that.goods.sellerPhone}&minSale=${that.goods.minSale}
  566. // &exsitCount=${that.goods.total}&isFutures=${that.goods.isFutures}
  567. // &basis=${that.goods.basis}&basisSmall=${that.goods.basisSmall}&basisBig=${that.goods.basisBig}
  568. // &unloadingFee=${that.goods.unloadingFee}`
  569. // })
  570. }
  571. },
  572. endSale() {
  573. const that = this
  574. uni.showLoading({
  575. title: '正在加载',
  576. mask: true
  577. })
  578. that.$api.request('sale', 'endSale', {
  579. id: that.goods.id,
  580. reason: that.reason
  581. }, failres => {
  582. if (failres.errmsg) {
  583. uni.showToast({
  584. title: failres.errmsg,
  585. icon: 'none',
  586. duration: 2000
  587. })
  588. } else {
  589. uni.showToast({
  590. title: "系统异常,请联系管理员",
  591. icon: 'none',
  592. duration: 2000
  593. })
  594. }
  595. uni.hideLoading()
  596. }).then(res => {
  597. that.$api.msg('终止成功')
  598. uni.hideLoading()
  599. setTimeout(() => {
  600. uni.navigateBack()
  601. }, 1000);
  602. })
  603. },
  604. navBack() {
  605. uni.navigateBack();
  606. },
  607. tradeNow() {
  608. // this.$api.doRequest('get', '/identityAuthenticationInfo/getInfo',{commonId:options.id}).then(res => {
  609. // uni.hideLoading()
  610. // this.goods=res.data.data
  611. // })
  612. if (!this.hasLogin) {
  613. this.isShowAlert = true;
  614. // uni.showModal({
  615. // title: '提示',
  616. // content: '您尚未登录,是否立即登录?',
  617. // showCancel: true,
  618. // confirmText: '登录',
  619. // success: (e) => {
  620. // if (e.confirm) {
  621. // uni.navigateTo({
  622. // url: '/pages/public/login'
  623. // })
  624. // }
  625. // },
  626. // fail: () => {},
  627. // complete: () => {}
  628. // })
  629. } else {
  630. uni.showModal({
  631. title: '温馨提示',
  632. content: '请在发车前认真核实买方身份,并在签订正规的交易合同后发起发车操作,是否继续发车?',
  633. confirmText: "发车",
  634. confirmColor: '#22C572',
  635. success: function(res) {
  636. if (res.confirm) {
  637. uni.navigateTo({ //跳转页面
  638. url: "../index/index"
  639. })
  640. } else if (res.cancel) {}
  641. }
  642. });
  643. const that = this
  644. uni.navigateTo({
  645. // url: `/pageA/product/business_sale?id=${that.goods.id}&packing=${that.goods.packing}}&province=${that.goods.province}
  646. // &city=${that.goods.city}&area=${that.goods.area}&storeName=${that.goods.storeName}&seller=${that.goods.seller}
  647. // &companyId=${that.goods.companyId}&sellerPhone=${that.goods.sellerPhone}&minSale=${that.goods.minSale}
  648. // &exsitCount=${that.goods.total}&isFutures=${that.goods.isFutures}
  649. // &basis=${that.goods.basis}&basisSmall=${that.goods.basisSmall}&basisBig=${that.goods.basisBig}
  650. // &unloadingFee=${that.goods.unloadingFee}`
  651. url: `/pageA/product/business_sale?id=${that.goods.id}&buyer=${that.goods.buyer}&seller=${that.goods.seller}&sendPrivate=${that.goods.sendPrivate}
  652. &sendCity=${that.goods.sendCity}&sendArea=${that.goods.sendArea}&sendWarehouse=${that.goods.sendWarehouse}&goodsName=${that.goods.goodsName}
  653. &minimumVolume=${that.goods.minimumVolume}&unitPrice=${that.goods.unitPrice}&basisPrice=${that.goods.basisPrice}&salePlanType=${that.goods.salePlanType}`
  654. })
  655. }
  656. }
  657. },
  658. }
  659. </script>
  660. <style scoped lang='scss'>
  661. .title1 {
  662. position: absolute;
  663. left: 50%;
  664. transform: translateX(-50%);
  665. top: 40upx;
  666. padding-top: var(--status-bar-height);
  667. z-index: 9999;
  668. color: #fff;
  669. font-size: 36rpx;
  670. }
  671. page {
  672. background: #F5F6FA;
  673. /* padding-bottom: 160upx; */
  674. }
  675. .container {
  676. padding-bottom: 160upx;
  677. }
  678. .icon-you {
  679. font-size: $font-base + 2upx;
  680. color: #888;
  681. }
  682. .carousel {
  683. width: 100%;
  684. height: 350upx;
  685. .carousel-item {
  686. width: 100%;
  687. height: 100%;
  688. padding: 0 28upx;
  689. overflow: hidden;
  690. }
  691. image {
  692. width: 100%;
  693. height: 100%;
  694. border-radius: 10upx;
  695. }
  696. }
  697. .carousel-section {
  698. padding: 0;
  699. .titleNview-placing {
  700. padding-top: 0;
  701. height: 0;
  702. }
  703. .carousel {
  704. .carousel-item {
  705. padding: 0;
  706. }
  707. }
  708. .swiper-dots {
  709. left: 45upx;
  710. bottom: 40upx;
  711. }
  712. }
  713. /* 分享 */
  714. .share-section {
  715. display: flex;
  716. align-items: center;
  717. color: $font-color-base;
  718. background: linear-gradient(left, #fdf5f6, #fbebf6);
  719. padding: 12upx 30upx;
  720. .share-icon {
  721. display: flex;
  722. align-items: center;
  723. width: 70upx;
  724. height: 30upx;
  725. line-height: 1;
  726. border: 1px solid $uni-color-primary;
  727. border-radius: 4upx;
  728. position: relative;
  729. overflow: hidden;
  730. font-size: 22upx;
  731. color: $uni-color-primary;
  732. &:after {
  733. content: '';
  734. width: 50upx;
  735. height: 50upx;
  736. border-radius: 50%;
  737. left: -20upx;
  738. top: -12upx;
  739. position: absolute;
  740. background: $uni-color-primary;
  741. }
  742. }
  743. .icon-xingxing {
  744. position: relative;
  745. z-index: 1;
  746. font-size: 24upx;
  747. margin-left: 2upx;
  748. margin-right: 10upx;
  749. color: #fff;
  750. line-height: 1;
  751. }
  752. .tit {
  753. font-size: $font-base;
  754. margin-left: 10upx;
  755. }
  756. .icon-bangzhu1 {
  757. padding: 10upx;
  758. font-size: 30upx;
  759. line-height: 1;
  760. }
  761. .share-btn {
  762. flex: 1;
  763. text-align: right;
  764. font-size: $font-sm;
  765. color: $uni-color-primary;
  766. }
  767. .icon-you {
  768. font-size: $font-sm;
  769. margin-left: 4upx;
  770. color: $uni-color-primary;
  771. }
  772. }
  773. .c-list {
  774. font-size: $font-sm + 2upx;
  775. color: $font-color-base;
  776. background: #fff;
  777. .c-row {
  778. display: flex;
  779. align-items: center;
  780. padding: 20upx 30upx;
  781. position: relative;
  782. }
  783. .tit {
  784. width: 220upx;
  785. }
  786. .con {
  787. flex: 1;
  788. color: $font-color-dark;
  789. .selected-text {
  790. margin-right: 10upx;
  791. }
  792. }
  793. .bz-list {
  794. height: 40upx;
  795. font-size: $font-sm+2upx;
  796. color: $font-color-dark;
  797. text {
  798. display: inline-block;
  799. margin-right: 30upx;
  800. }
  801. }
  802. .con-list {
  803. flex: 1;
  804. display: flex;
  805. flex-direction: column;
  806. color: $font-color-dark;
  807. line-height: 40upx;
  808. text-align: right;
  809. padding-right: 20upx;
  810. }
  811. .red {
  812. color: $uni-color-primary;
  813. }
  814. }
  815. /* 评价 */
  816. .eva-section {
  817. display: flex;
  818. flex-direction: column;
  819. padding: 20upx 30upx;
  820. background: #fff;
  821. margin-top: 16upx;
  822. .e-header {
  823. display: flex;
  824. align-items: center;
  825. height: 70upx;
  826. font-size: $font-sm + 2upx;
  827. color: $font-color-light;
  828. .tit {
  829. font-size: $font-base + 2upx;
  830. color: $font-color-dark;
  831. margin-right: 4upx;
  832. }
  833. .tip {
  834. flex: 1;
  835. text-align: right;
  836. }
  837. .icon-you {
  838. margin-left: 10upx;
  839. }
  840. }
  841. }
  842. .eva-box {
  843. display: flex;
  844. padding: 20upx 0;
  845. .portrait {
  846. flex-shrink: 0;
  847. width: 80upx;
  848. height: 80upx;
  849. border-radius: 100px;
  850. }
  851. .right {
  852. flex: 1;
  853. display: flex;
  854. flex-direction: column;
  855. font-size: $font-base;
  856. color: $font-color-base;
  857. padding-left: 26upx;
  858. .con {
  859. font-size: $font-base;
  860. color: $font-color-dark;
  861. padding: 20upx 0;
  862. }
  863. .bot {
  864. display: flex;
  865. justify-content: space-between;
  866. font-size: $font-sm;
  867. color: $font-color-light;
  868. }
  869. }
  870. }
  871. /* 详情 */
  872. .detail-desc {
  873. background: #fff;
  874. margin-top: 16upx;
  875. margin: 10px;
  876. position: relative;
  877. z-index: 4;
  878. border-radius: 5px;
  879. .d-header {
  880. display: flex;
  881. padding: 10px;
  882. font-size: $font-base + 2upx;
  883. color: $font-color-dark;
  884. position: relative;
  885. border-bottom: 1px solid #EEEEEE;
  886. text {
  887. padding: 0 20upx;
  888. position: relative;
  889. z-index: 1;
  890. }
  891. }
  892. }
  893. /* 规格选择弹窗 */
  894. .attr-content {
  895. padding: 10upx 30upx;
  896. .a-t {
  897. display: flex;
  898. image {
  899. width: 170upx;
  900. height: 170upx;
  901. flex-shrink: 0;
  902. margin-top: -40upx;
  903. border-radius: 8upx;
  904. ;
  905. }
  906. .right {
  907. display: flex;
  908. flex-direction: column;
  909. padding-left: 24upx;
  910. font-size: $font-sm + 2upx;
  911. color: $font-color-base;
  912. line-height: 42upx;
  913. .price {
  914. font-size: $font-lg;
  915. color: $uni-color-primary;
  916. margin-bottom: 10upx;
  917. }
  918. .selected-text {
  919. margin-right: 10upx;
  920. }
  921. }
  922. }
  923. .attr-list {
  924. display: flex;
  925. flex-direction: column;
  926. font-size: $font-base + 2upx;
  927. color: $font-color-base;
  928. padding-top: 30upx;
  929. padding-left: 10upx;
  930. }
  931. .item-list {
  932. padding: 30upx 0 0;
  933. display: flex;
  934. flex-wrap: wrap;
  935. text {
  936. display: flex;
  937. align-items: center;
  938. justify-content: center;
  939. background: #eee;
  940. margin-right: 20upx;
  941. margin-bottom: 20upx;
  942. border-radius: 100upx;
  943. min-width: 60upx;
  944. height: 60upx;
  945. padding: 0 20upx;
  946. font-size: $font-base;
  947. color: $font-color-dark;
  948. }
  949. .selected {
  950. background: #fbebee;
  951. color: $uni-color-primary;
  952. }
  953. }
  954. }
  955. /* 弹出层 */
  956. .popup {
  957. position: fixed;
  958. left: 0;
  959. top: 0;
  960. right: 0;
  961. bottom: 0;
  962. z-index: 99;
  963. &.show {
  964. display: block;
  965. .mask {
  966. animation: showPopup 0.2s linear both;
  967. }
  968. .layer {
  969. animation: showLayer 0.2s linear both;
  970. }
  971. }
  972. &.hide {
  973. .mask {
  974. animation: hidePopup 0.2s linear both;
  975. }
  976. .layer {
  977. animation: hideLayer 0.2s linear both;
  978. }
  979. }
  980. &.none {
  981. display: none;
  982. }
  983. .mask {
  984. position: fixed;
  985. top: 0;
  986. width: 100%;
  987. height: 100%;
  988. z-index: 1;
  989. background-color: rgba(0, 0, 0, 0.4);
  990. }
  991. .layer {
  992. position: fixed;
  993. z-index: 99;
  994. bottom: 0;
  995. width: 100%;
  996. min-height: 40vh;
  997. border-radius: 10upx 10upx 0 0;
  998. background-color: #fff;
  999. .btn {
  1000. height: 66upx;
  1001. line-height: 66upx;
  1002. border-radius: 100upx;
  1003. background: $uni-color-primary;
  1004. font-size: $font-base + 2upx;
  1005. color: #fff;
  1006. margin: 30upx auto 20upx;
  1007. }
  1008. }
  1009. @keyframes showPopup {
  1010. 0% {
  1011. opacity: 0;
  1012. }
  1013. 100% {
  1014. opacity: 1;
  1015. }
  1016. }
  1017. @keyframes hidePopup {
  1018. 0% {
  1019. opacity: 1;
  1020. }
  1021. 100% {
  1022. opacity: 0;
  1023. }
  1024. }
  1025. @keyframes showLayer {
  1026. 0% {
  1027. transform: translateY(120%);
  1028. }
  1029. 100% {
  1030. transform: translateY(0%);
  1031. }
  1032. }
  1033. @keyframes hideLayer {
  1034. 0% {
  1035. transform: translateY(0);
  1036. }
  1037. 100% {
  1038. transform: translateY(120%);
  1039. }
  1040. }
  1041. }
  1042. .swiper-dots {
  1043. display: flex;
  1044. position: absolute;
  1045. left: 60upx;
  1046. bottom: 15upx;
  1047. width: 72upx;
  1048. height: 36upx;
  1049. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTMyIDc5LjE1OTI4NCwgMjAxNi8wNC8xOS0xMzoxMzo0MCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTk4MzlBNjE0NjU1MTFFOUExNjRFQ0I3RTQ0NEExQjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTk4MzlBNjA0NjU1MTFFOUExNjRFQ0I3RTQ0NEExQjMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Q0E3RUNERkE0NjExMTFFOTg5NzI4MTM2Rjg0OUQwOEUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Q0E3RUNERkI0NjExMTFFOTg5NzI4MTM2Rjg0OUQwOEUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4Gh5BPAAACTUlEQVR42uzcQW7jQAwFUdN306l1uWwNww5kqdsmm6/2MwtVCp8CosQtP9vg/2+/gY+DRAMBgqnjIp2PaCxCLLldpPARRIiFj1yBbMV+cHZh9PURRLQNhY8kgWyL/WDtwujjI8hoE8rKLqb5CDJaRMJHokC6yKgSCR9JAukmokIknCQJpLOIrJFwMsBJELFcKHwM9BFkLBMKFxNcBCHlQ+FhoocgpVwwnv0Xn30QBJGMC0QcaBVJiAMiec/dcwKuL4j1QMsVCXFAJE4s4NQA3K/8Y6DzO4g40P7UcmIBJxbEesCKWBDg8wWxHrAiFgT4fEGsB/CwIhYE+AeBAAdPLOcV8HRmWRDAiQVcO7GcV8CLM8uCAE4sQCDAlHcQ7x+ABQEEAggEEAggEEAggEAAgQACASAQQCCAQACBAAIBBAIIBBAIIBBAIABe4e9iAe/xd7EAJxYgEGDeO4j3EODp/cOCAE4sYMyJ5cwCHs4rCwI4sYBxJ5YzC84rCwKcXxArAuthQYDzC2JF0H49LAhwYUGsCFqvx5EF2T07dMaJBetx4cRyaqFtHJ8EIhK0i8OJBQxcECuCVutxJhCRoE0cZwMRyRcFefa/ffZBVPogePihhyCnbBhcfMFFEFM+DD4m+ghSlgmDkwlOgpAl4+BkkJMgZdk4+EgaSCcpVX7bmY9kgXQQU+1TgE0c+QJZUUz1b2T4SBbIKmJW+3iMj2SBVBWz+leVfCQLpIqYbp8b85EskIxyfIOfK5Sf+wiCRJEsllQ+oqEkQfBxmD8BBgA5hVjXyrBNUQAAAABJRU5ErkJggg==);
  1050. background-size: 100% 100%;
  1051. .num {
  1052. width: 36upx;
  1053. height: 36upx;
  1054. border-radius: 50px;
  1055. font-size: 24upx;
  1056. color: #fff;
  1057. text-align: center;
  1058. line-height: 36upx;
  1059. }
  1060. .sign {
  1061. position: absolute;
  1062. top: 0;
  1063. left: 50%;
  1064. line-height: 36upx;
  1065. font-size: 12upx;
  1066. color: #fff;
  1067. transform: translateX(-50%);
  1068. }
  1069. }
  1070. /* 底部操作菜单 */
  1071. .page-bottom1 {
  1072. position: fixed;
  1073. left: 0;
  1074. bottom: 0;
  1075. z-index: 95;
  1076. width: 100%;
  1077. height: 70px;
  1078. background: rgba(255, 255, 255, .9);
  1079. padding: 15px;
  1080. border-radius: 0;
  1081. text-align: right;
  1082. button {
  1083. display: inline-block;
  1084. border-radius: 18px;
  1085. margin: 0 10px;
  1086. font-size: 14px;
  1087. background: #fff;
  1088. color: #333;
  1089. border: 1px solid #333;
  1090. }
  1091. .action-btn {
  1092. background: #22C572;
  1093. color: #fff;
  1094. border: 1px solid #22C572;
  1095. }
  1096. .p-b-btn {
  1097. display: flex;
  1098. flex-direction: column;
  1099. align-items: center;
  1100. justify-content: center;
  1101. font-size: $font-sm;
  1102. color: $font-color-base;
  1103. width: 96upx;
  1104. height: 80upx;
  1105. .yticon {
  1106. font-size: 40upx;
  1107. line-height: 48upx;
  1108. color: $font-color-light;
  1109. }
  1110. &.active,
  1111. &.active .yticon {
  1112. color: $uni-color-primary;
  1113. }
  1114. .icon-fenxiang2 {
  1115. font-size: 42upx;
  1116. transform: translateY(-2upx);
  1117. }
  1118. .icon-shoucang {
  1119. font-size: 46upx;
  1120. }
  1121. }
  1122. }
  1123. .rich-img {
  1124. width: 100%;
  1125. height: auto;
  1126. margin: 0;
  1127. padding: 0;
  1128. line-height: 0px;
  1129. }
  1130. button::after {
  1131. border: none;
  1132. }
  1133. /* 销售信息 */
  1134. .introduce-section {
  1135. background: #fff;
  1136. padding: 30upx 30upx;
  1137. position: relative;
  1138. margin: 10px;
  1139. padding-bottom: 25px;
  1140. margin-top: -148px;
  1141. border-radius: 5px;
  1142. z-index: 4;
  1143. .guess-item {
  1144. padding-bottom: 20upx;
  1145. border-bottom: 1px solid #ccc;
  1146. }
  1147. .title {
  1148. font-size: 16px;
  1149. color: $font-color-dark;
  1150. font-weight: bold;
  1151. height: 50upx;
  1152. line-height: 50upx;
  1153. flex: 2.5;
  1154. }
  1155. .title-tip {
  1156. flex: 1.5;
  1157. color: #FD714F;
  1158. font-size: 30px;
  1159. text-align: right;
  1160. }
  1161. .price-box {
  1162. display: flex;
  1163. align-items: baseline;
  1164. height: 120rpx;
  1165. padding: 10upx 0;
  1166. font-size: 26upx;
  1167. color: $uni-color-primary;
  1168. }
  1169. .price {
  1170. font-size: $font-lg + 2upx;
  1171. }
  1172. .m-price {
  1173. margin: 0 12upx;
  1174. color: $font-color-light;
  1175. text-decoration: line-through;
  1176. }
  1177. .coupon-tip {
  1178. align-items: center;
  1179. padding: 4upx 10upx;
  1180. background: $uni-color-primary;
  1181. font-size: $font-sm;
  1182. color: #fff;
  1183. border-radius: 6upx;
  1184. line-height: 1;
  1185. transform: translateY(-4upx);
  1186. }
  1187. .bot-row {
  1188. display: flex;
  1189. align-items: center;
  1190. height: 50upx;
  1191. font-size: $font-sm;
  1192. color: $font-color-light;
  1193. view {
  1194. flex: 1;
  1195. }
  1196. }
  1197. }
  1198. .back-btn {
  1199. position: absolute;
  1200. left: 40upx;
  1201. z-index: 9999;
  1202. padding-top: var(--status-bar-height);
  1203. top: 40upx;
  1204. font-size: 40upx;
  1205. color: #fff;
  1206. }
  1207. .shade {
  1208. position: fixed;
  1209. top: 0;
  1210. left: 0;
  1211. width: 100%;
  1212. background: rgba(0, 0, 0, 0.5);
  1213. height: 100%;
  1214. z-index: 999999;
  1215. }
  1216. .shade-content {
  1217. position: absolute;
  1218. top: 50%;
  1219. left: 50%;
  1220. transform: translateX(-50%) translateY(-50%);
  1221. z-index: 999999;
  1222. text-align: center;
  1223. }
  1224. .shade-content-item {
  1225. background: #fff;
  1226. width: 277px;
  1227. text-align: center;
  1228. height: 121px;
  1229. padding: 35px 10px;
  1230. border-radius: 15px;
  1231. }
  1232. .upload {
  1233. width: 80rpx;
  1234. height: 80rpx;
  1235. }
  1236. .char_css {
  1237. font-size: 30rpx;
  1238. font-weight: 600;
  1239. display: -webkit-box;
  1240. overflow: hidden;
  1241. /*! autoprefixer: off; */
  1242. -webkit-box-orient: vertical;
  1243. -webkit-line-clamp: 1;
  1244. -webkit-box-orient: vertical;
  1245. text-overflow: ellipsis;
  1246. word-break: break-all;
  1247. }
  1248. .img_item {
  1249. display: flex;
  1250. width: 100%;
  1251. margin: 10px 0;
  1252. padding: 0 10rpx;
  1253. .img_dowload {
  1254. width: 13%;
  1255. color: #22C572;
  1256. text-align: right;
  1257. }
  1258. }
  1259. .screen-swiper {
  1260. height: 281.5px;
  1261. }
  1262. .swiper .dots {
  1263. position: absolute;
  1264. bottom: 53px;
  1265. background: rgba(255, 255, 255, 0.4);
  1266. border-radius: 0px 11px 11px 0px;
  1267. width: 58.5px;
  1268. height: 23px;
  1269. line-height: 23px;
  1270. text-align: center;
  1271. padding: 3px;
  1272. color: #FFFFFF;
  1273. }
  1274. </style>