帧视界壹通告,付费看视频的微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

212 lines
4.8 KiB

  1. <template>
  2. <view class="promotionDetail">
  3. <!--顶部导航栏-->
  4. <navbar leftClick @leftClick="$utils.navigateBack" title="推广详情"/>
  5. <!--主页面-->
  6. <view class="frame">
  7. <!--标题-->
  8. <view class="title">
  9. <span>推广基本信息</span>
  10. </view>
  11. <!--基本信息-->
  12. <view style="" class="basicInfo">
  13. <view class="item">
  14. <view class="label">春天的气息丫丫</view>
  15. <view class="value">???</view>
  16. </view>
  17. <view class="item">
  18. <view class="label">价格</view>
  19. <view class="value">100</view>
  20. </view>
  21. <view class="item">
  22. <view class="label">时长</view>
  23. <view class="value">24小时</view>
  24. </view>
  25. <view class="item">
  26. <view class="label">联系方式</view>
  27. <view class="value">输入框</view>
  28. </view>
  29. <view>推广作品</view>
  30. <view style="width: 30%;height: 300rpx;border-radius: 20rpx;overflow: hidden;">
  31. <image src="/static/image/promotionRecord/3.png" style="width: 100%;height: 100%;"></image>
  32. </view>
  33. </view>
  34. <!--确认发布弹框-->
  35. <uv-popup ref="popup" mode="center" custom-style="height: 400rpx;" :closeOnClickOverlay="false">
  36. <view class="content">
  37. <view class="title">
  38. 推广选项
  39. </view>
  40. <!--付费周期-->
  41. <view style="" class="payCycle">
  42. <view>付费周期</view>
  43. <view style="width: 200rpx;height:50rpx">
  44. <uv-picker ref="picker" :columns="columns" @confirm="confirm"></uv-picker>
  45. <view style="display: flex;justify-content: flex-start" @click="openPicker">
  46. <span style="margin-right: 10rpx;">{{ form.cycle }}</span>
  47. <uv-icon name="arrow-down" color="#2979ff" size="28"></uv-icon>
  48. </view>
  49. </view>
  50. </view>
  51. <!--金额-->
  52. <view style="width:100%;display: flex;justify-content: space-between;align-items: center;">
  53. <view>金额</view>
  54. <view style="width: 200rpx;height:50rpx">
  55. <uv-input type="number" placeholder="请输入内容" border="surround" v-model="form.moneyValue"
  56. @change="moneyValueChange"></uv-input>
  57. </view>
  58. </view>
  59. <!--确认推广按钮-->
  60. <view class="confirmBottom">
  61. <button @click="confirmPromotion" class="confirmPromotionBtn">
  62. 确认推广
  63. </button>
  64. </view>
  65. </view>
  66. </uv-popup>
  67. </view>
  68. <!--继续推广按钮-->
  69. <button @click="continueToPromotion" class="bottomBtn">
  70. 继续推广
  71. </button>
  72. </view>
  73. </template>
  74. <script>
  75. import '../../../../common.css'; // 引入公共 CSS 文件
  76. export default {
  77. onLoad: function (options) {
  78. // 获取传递过来的 id 参数
  79. const id = options.id;
  80. console.log('ID:', id);
  81. // 进行后续处理...
  82. },
  83. data() {
  84. return {
  85. columns: [
  86. ['一天', '两天', '三天']
  87. ],
  88. form: {
  89. moneyValue: 0,
  90. cycle: '一天'
  91. },
  92. };
  93. },
  94. methods: {
  95. openPicker() {
  96. this.$refs.picker.open();
  97. },
  98. confirm(e) {
  99. console.log('confirm', e);
  100. this.form.cycle = e.value[0]
  101. },
  102. // 继续推广按钮
  103. continueToPromotion() {
  104. this.$refs.popup.open();
  105. },
  106. // 金额发生变化
  107. moneyValueChange(e) {
  108. console.log('moneyValue', e);
  109. this.form.moneyValue = e
  110. },
  111. // 确认推广
  112. confirmPromotion() {
  113. console.log('确认推广', this.form);
  114. }
  115. }
  116. }
  117. </script>
  118. <style lang="scss" scoped>
  119. * {
  120. box-sizing: border-box;
  121. margin: 0;
  122. padding: 0;
  123. }
  124. .promotionDetail {
  125. width: 100vw;
  126. height: 100vh;
  127. .frame {
  128. width: 100%;
  129. //height: calc(100vh - 220rpx);
  130. padding: 28rpx 28rpx 0 28rpx;
  131. .title {
  132. font-size: 36rpx;
  133. font-weight: 600;
  134. }
  135. .basicInfo {
  136. display: flex;
  137. flex-direction: column;
  138. gap: 60rpx;
  139. margin-top: 50rpx;
  140. width: 90%;
  141. .item {
  142. display: flex;
  143. justify-content: space-between;
  144. }
  145. }
  146. .bottom {
  147. position: fixed;
  148. bottom: 30rpx;
  149. left: 25%;
  150. width: 50%;
  151. height: 100rpx;
  152. .continueBtn {
  153. color: #ffffff;
  154. background: $uni-linear-gradient-btn-color;
  155. }
  156. }
  157. }
  158. .content {
  159. display: flex;
  160. flex-direction: column;
  161. justify-content: flex-start;
  162. gap: 20rpx;
  163. width: 600rpx;
  164. height: 100%;
  165. padding: 20rpx;
  166. .title {
  167. display: flex;
  168. justify-content: center;
  169. align-items: center;
  170. }
  171. .payCycle {
  172. width: 100%;
  173. display: flex;
  174. justify-content: space-between;
  175. align-items: center;
  176. }
  177. }
  178. }
  179. /deep/ .uv-popup .uv-popup__content {
  180. border-radius: 20rpx;
  181. }
  182. </style>