帧视界壹通告,付费看视频的微信小程序
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.

225 lines
5.1 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. <view class="bottom">
  36. <button @click="continueToPublish" class="continueBtn">
  37. 继续发布
  38. </button>
  39. </view>
  40. <!--确认发布弹框-->
  41. <uv-popup ref="popup" mode="center" custom-style="height: 400rpx;" :closeOnClickOverlay="false" >
  42. <view class="content">
  43. <view class="title">
  44. 推广选项
  45. </view>
  46. <!--付费周期-->
  47. <view style="" class="payCycle">
  48. <view>付费周期</view>
  49. <view style="width: 200rpx;height:50rpx">
  50. <uv-picker ref="picker" :columns="columns" @confirm="confirm"></uv-picker>
  51. <view style="display: flex;justify-content: flex-start" @click="openPicker">
  52. <span style="margin-right: 10rpx;">{{ form.cycle }}</span>
  53. <uv-icon name="arrow-down" color="#2979ff" size="28"></uv-icon>
  54. </view>
  55. </view>
  56. </view>
  57. <!--金额-->
  58. <view style="width:100%;display: flex;justify-content: space-between;align-items: center;">
  59. <view>金额</view>
  60. <view style="width: 200rpx;height:50rpx">
  61. <uv-input type="number" placeholder="请输入内容" border="surround" v-model="form.moneyValue"
  62. @change="moneyValueChange"></uv-input>
  63. </view>
  64. </view>
  65. <!--确认推广按钮-->
  66. <view class="confirmBottom">
  67. <button @click="confirmPromotion" class="confirmPromotionBtn">
  68. 确认推广
  69. </button>
  70. </view>
  71. </view>
  72. </uv-popup>
  73. </view>
  74. </view>
  75. </template>
  76. <script>
  77. export default {
  78. onLoad: function (options) {
  79. // 获取传递过来的 id 参数
  80. const id = options.id;
  81. console.log('ID:', id);
  82. // 进行后续处理...
  83. },
  84. data() {
  85. return {
  86. columns: [
  87. ['一天', '两天', '三天']
  88. ],
  89. form: {
  90. moneyValue: 0,
  91. cycle: '一天'
  92. },
  93. };
  94. },
  95. methods: {
  96. openPicker() {
  97. this.$refs.picker.open();
  98. },
  99. confirm(e) {
  100. console.log('confirm', e);
  101. this.form.cycle = e.value[0]
  102. },
  103. // 推广确认按钮
  104. continueToPublish() {
  105. this.$refs.popup.open();
  106. },
  107. // 金额发生变化
  108. moneyValueChange(e) {
  109. console.log('moneyValue', e);
  110. this.form.moneyValue = e
  111. },
  112. // 确认推广
  113. confirmPromotion() {
  114. console.log('确认推广', this.form);
  115. }
  116. }
  117. }
  118. </script>
  119. <style lang="scss" scoped>
  120. * {
  121. box-sizing: border-box;
  122. margin: 0;
  123. padding: 0;
  124. }
  125. .promotionDetail {
  126. width: 100vw;
  127. height: 100vh;
  128. .frame {
  129. width: 100%;
  130. //height: calc(100vh - 220rpx);
  131. padding: 28rpx 28rpx 0 28rpx;
  132. .title {
  133. font-size: 36rpx;
  134. font-weight: 600;
  135. }
  136. .basicInfo {
  137. display: flex;
  138. flex-direction: column;
  139. gap: 60rpx;
  140. margin-top: 50rpx;
  141. width: 90%;
  142. .item {
  143. display: flex;
  144. justify-content: space-between;
  145. }
  146. }
  147. .bottom {
  148. position: fixed;
  149. bottom: 30rpx;
  150. left: 25%;
  151. width: 50%;
  152. height: 100rpx;
  153. .continueBtn {
  154. color: #ffffff;
  155. background: $uni-linear-gradient-btn-color;
  156. }
  157. }
  158. }
  159. .content {
  160. display: flex;
  161. flex-direction: column;
  162. justify-content: flex-start;
  163. gap: 20rpx;
  164. width: 600rpx;
  165. height: 100%;
  166. padding: 20rpx;
  167. .title {
  168. display: flex;
  169. justify-content: center;
  170. align-items: center;
  171. }
  172. .payCycle {
  173. width: 100%;
  174. display: flex;
  175. justify-content: space-between;
  176. align-items: center;
  177. }
  178. .confirmBottom {
  179. position: fixed;
  180. bottom: 38%;
  181. left: 30%;
  182. width: 38%;
  183. height: 100rpx;
  184. .confirmPromotionBtn {
  185. color: #ffffff;
  186. background: $uni-linear-gradient-btn-color;
  187. }
  188. }
  189. }
  190. }
  191. /deep/.uv-popup .uv-popup__content{
  192. border-radius: 20rpx;
  193. }
  194. </style>