index.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. <template>
  2. <view class="psd-content">
  3. <view class="psd-content-info">
  4. <view class="psd-bgm" :style="{backgroundImage: 'url('+perform.showImg+')'}">
  5. <!-- 头部主要内容 开始 -->
  6. <view class="index-content-header">
  7. <customNavbar
  8. title="详情"
  9. bgColor="rgba(0,0,0,0)"
  10. :customNavbarInfo='{}'
  11. :leftStyle="{ color: '#fff' }"
  12. ></customNavbar>
  13. </view>
  14. <!-- 头部主要内容 结束 -->
  15. </view>
  16. <view class="psd-info">
  17. <view class="psd-info-box">
  18. <text class="psd-info-title">{{ perform && perform.name }}</text>
  19. <view class="psd-info-main">
  20. <text>票务信息</text>
  21. <view>
  22. <view>
  23. <text>票务类型</text>
  24. <text>销售价</text>
  25. <text>分销价</text>
  26. <text>佣金</text>
  27. </view>
  28. <view
  29. v-if="perform && perform.brokerageList && perform.brokerageList.length>0"
  30. v-for="(item,index) in perform.brokerageList"
  31. :key="index">
  32. <text>{{item.goodsName}}</text>
  33. <text>{{item.originalSalePrice}}</text>
  34. <text>{{item.salePrice}}</text>
  35. <text>{{item.brokeragePrice}}</text>
  36. </view>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. </view>
  43. </template>
  44. <script>
  45. export default {
  46. data() {
  47. return {
  48. title: '《伟大转折》剧目全民分享系统',
  49. logoUrl: this.$commonConfig.staticUrl + "login/bgm.png",
  50. loading: false,
  51. performId: null,
  52. perform: {}
  53. }
  54. },
  55. onLoad(e) {
  56. console.log(e)
  57. this.performId = e.performId
  58. },
  59. onShow() {
  60. this.getRetailInfo()
  61. },
  62. methods: {
  63. async getRetailInfo(){
  64. try{
  65. this.perform = {}
  66. let res = await this.$u.api.getRetailInfo({
  67. noSign: 1,
  68. userid: this.vuex_user_info.userId,
  69. performId: this.performId,
  70. })
  71. if(res && res.code ===200) {
  72. this.perform = res.data
  73. } else {
  74. }
  75. }catch(e){
  76. }
  77. }
  78. }
  79. }
  80. </script>
  81. <style lang="scss" scoped>
  82. .psd-content {
  83. width: 100%;
  84. height: 100%;
  85. position: relative;
  86. box-sizing: border-box;
  87. --bgm-height: 476rpx;
  88. }
  89. /** 背景 */
  90. .psd-content-box {
  91. width: 100%;
  92. height: 100%;
  93. box-sizing: border-box;
  94. }
  95. .psd-bgm {
  96. width: 100%;
  97. height: var(--bgm-height);
  98. background-size: 100% 100%;
  99. background-repeat: no-repeat;
  100. box-sizing: border-box;
  101. .psd-logo {
  102. width: 240rpx;
  103. height: 172rpx;
  104. padding: 50rpx 0;
  105. }
  106. >text {
  107. font-size: 32rpx;
  108. font-family: SourceHanSansCN, SourceHanSansCN;
  109. font-weight: bold;
  110. color: #FFFFFF;
  111. }
  112. }
  113. .psd-info {
  114. width: 100%;
  115. height: calc(100% - var(--bgm-height) + 40rpx);
  116. background-color: #fff;
  117. border-radius: 28rpx 28rpx 0rpx 0rpx;
  118. position: absolute;
  119. bottom: 0;
  120. left: 0;
  121. z-index: 22;
  122. box-sizing: border-box;
  123. .psd-info-box {
  124. width: 100%;
  125. height: 100%;
  126. display: flex;
  127. flex-direction: column;
  128. box-sizing: border-box;
  129. .psd-info-title {
  130. display: flex;
  131. font-size: 40rpx;
  132. font-family: SourceHanSansCN, SourceHanSansCN;
  133. font-weight: 800;
  134. color: #2D2D2D;
  135. padding: 54rpx 0 38rpx 40rpx;
  136. border-bottom: 6rpx solid rgba(245, 245, 245, 1);
  137. box-sizing: border-box;
  138. }
  139. .psd-info-main {
  140. padding: 54rpx 24rpx 0;
  141. box-sizing: border-box;
  142. >text {
  143. font-size: 28rpx;
  144. font-family: SourceHanSansCN, SourceHanSansCN;
  145. font-weight: 550;
  146. color: #2D2D2D;
  147. position: relative;
  148. padding-bottom: 10rpx;
  149. margin-left: 20rpx;
  150. }
  151. >text::after {
  152. content: " ";
  153. position: absolute;
  154. bottom: 0;
  155. left: 15rpx;
  156. display: flex;
  157. width: 82rpx;
  158. height: 6rpx;
  159. background: var(--gd-but-color);
  160. border-radius: 4rpx;
  161. }
  162. >view {
  163. width: 100%;
  164. box-shadow: 0rpx 4rpx 8rpx 0rpx rgba(201,201,201,0.5);
  165. border-radius: 16rpx;
  166. box-sizing: border-box;
  167. margin-top: 40rpx;
  168. overflow: hidden;
  169. view {
  170. width: 100%;
  171. display: flex;
  172. box-sizing: border-box;
  173. height: 76rpx;
  174. font-family: SourceHanSansCN, SourceHanSansCN;
  175. >text {
  176. flex: 1;
  177. display: flex;
  178. justify-content: center;
  179. align-items: center;
  180. }
  181. }
  182. view:nth-child(2n+1) {
  183. background: rgba(255, 255, 255, 1);
  184. font-size: 24rpx;
  185. color: #606060;
  186. >text:last-child {
  187. color: rgba(237, 0, 0, 1);
  188. }
  189. }
  190. view:nth-child(2n) {
  191. background: rgba(245, 245, 245, 1);
  192. font-size: 24rpx;
  193. color: #606060;
  194. >text:last-child {
  195. color: rgba(237, 0, 0, 1);
  196. }
  197. }
  198. view:first-child {
  199. background: #363636 !important;
  200. font-size: 24rpx;
  201. font-weight: 550;
  202. color: #FFFFFF;
  203. >text:last-child {
  204. color: #FFFFFF;
  205. }
  206. }
  207. }
  208. }
  209. }
  210. }
  211. /** tabar */
  212. .main-tabar {
  213. width: 80vw;
  214. height: 100rpx;
  215. position: fixed;
  216. bottom: 20rpx;
  217. left: 50%;
  218. transform: translateX(-50%);
  219. box-sizing: border-box;
  220. .main-tabar-info {
  221. width: 100%;
  222. height: 100%;
  223. display: flex;
  224. justify-content: space-between;
  225. box-shadow: rgba(0, 0, 0, 0.4) 0px 2px 6px 0px;
  226. border-radius: 40rpx;
  227. .main-tabar-item {
  228. flex: 1;
  229. display: flex;
  230. align-items: center;
  231. flex-direction: column;
  232. justify-content: center;
  233. image {
  234. width: 50rpx;
  235. height: 50rpx;
  236. }
  237. text {
  238. font-size: 24rpx;
  239. }
  240. }
  241. }
  242. }
  243. </style>