procurement-popup.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. <template>
  2. <view>
  3. <tui-bottom-popup :zIndex="1002" :maskZIndex="1001" :show.sync="popupShow" @close="$emit('handlerPopupClose', false)">
  4. <view class="popup_content">
  5. <view class="pro_popup_title">参与需求</view>
  6. <view class="popup_form">
  7. <view class="popup_form_item">商品图片:</view>
  8. <view class="popup_img">
  9. <image style="width: 100%;height: 100%;" :src="isImageUrl(joinData.productImage) ? imageUrl : joinData.productImage" mode="aspectFill"></image>
  10. </view>
  11. </view>
  12. <view class="popup_form">
  13. <view class="popup_form_item">商品名称:</view>
  14. <view class="popup_form_name">{{ joinData.productName }}</view>
  15. </view>
  16. <form>
  17. <view class="uni-form-item uni-column">
  18. <view class="title">
  19. <text style="font-size: 26rpx;color: #F85050;">*</text>
  20. 期望单价:
  21. </view>
  22. <view style="position: relative;">
  23. <view class="input_icon">¥</view>
  24. <input
  25. class="uni-input"
  26. maxlength="10"
  27. :always-embed="true"
  28. :adjust-position="true"
  29. cursor-spacing="30"
  30. v-model="joinData.price"
  31. @input="fpNumInput($event, 'joinData', 'price')"
  32. />
  33. </view>
  34. </view>
  35. <view class="uni-form-item uni-column">
  36. <view class="title">
  37. <text style="font-size: 26rpx;color: #F85050;">*</text>
  38. 采购数量:
  39. </view>
  40. <view style="position: relative;">
  41. <input
  42. class="uni-input"
  43. maxlength="10"
  44. type="number"
  45. :always-embed="true"
  46. :adjust-position="true"
  47. cursor-spacing="30"
  48. v-model="joinData.number"
  49. @input="NumberInput($event, 'joinData', 'number')"
  50. />
  51. </view>
  52. </view>
  53. <view class="submit_btn">
  54. <button class="popup_btn cancel" @click="$emit('handlerPopupClose', false)">取消</button>
  55. <button class="popup_btn submit" @click="$emit('procurementParticipate', joinData)">确定</button>
  56. </view>
  57. </form>
  58. </view>
  59. </tui-bottom-popup>
  60. </view>
  61. </template>
  62. <script>
  63. import procurementMixins from '../mixins/procurementMixins.js'
  64. export default {
  65. mixins: [procurementMixins],
  66. props: {
  67. dataObj: {
  68. type: Object,
  69. default: () => ({})
  70. },
  71. isShow: {
  72. type: Boolean,
  73. default: () => false
  74. }
  75. },
  76. data() {
  77. return {
  78. popupShow: false, // 显示隐藏
  79. joinData: {}, // 数据
  80. }
  81. },
  82. watch: {
  83. dataObj(val) {
  84. if(JSON.stringify(val) != '{}') {
  85. this.joinData = val
  86. }
  87. },
  88. isShow(val) {
  89. this.popupShow = val
  90. }
  91. },
  92. methods: {
  93. },
  94. }
  95. </script>
  96. <style scoped lang="scss">
  97. .popup_content {
  98. padding: 0 64rpx;
  99. }
  100. .pro_popup_title {
  101. font-size: 32rpx;
  102. font-weight: bold;
  103. color: #333333;
  104. margin: 40rpx auto;
  105. text-align: center;
  106. }
  107. .popup_form {
  108. margin-bottom: 32rpx;
  109. }
  110. .popup_form .popup_form_item {
  111. color: #999999;
  112. font-size: 26rpx;
  113. margin-bottom: 16rpx;
  114. }
  115. .popup_form .popup_img {
  116. width: 136rpx;
  117. height: 136rpx;
  118. }
  119. .popup_form .popup_form_name {
  120. color: #333333;
  121. font-size: 26rpx;
  122. font-weight: 400;
  123. line-height: 44rpx;
  124. }
  125. .uni-form-item .title {
  126. color: #999999;
  127. font-size: 26rpx;
  128. margin-bottom: 16rpx;
  129. }
  130. .input_icon {
  131. position: absolute;
  132. left: 15rpx;
  133. top: 24rpx;
  134. color: #b2b2b2;
  135. font-size: 26rpx;
  136. }
  137. .uni-form-item .uni-input {
  138. height: 80rpx;
  139. border: 1px solid #b2b2b2;
  140. border-radius: 6rpx 6rpx 6rpx 6rpx;
  141. font-size: 26rpx;
  142. padding-left: 47rpx;
  143. margin-bottom: 32rpx;
  144. }
  145. .submit_btn {
  146. margin-top: 56rpx;
  147. height: 84rpx;
  148. display: flex;
  149. justify-content: space-between;
  150. align-items: center;
  151. margin-bottom: 50rpx;
  152. }
  153. .submit_btn .popup_btn {
  154. width: 280rpx;
  155. height: 100%;
  156. border-radius: 45rpx 45rpx 45rpx 45rpx;
  157. text-align: center;
  158. line-height: 84rpx;
  159. }
  160. ::v-deep .submit_btn .cancel {
  161. background-color: #fff4e6;
  162. color: #f3b574;
  163. font-size: 32rpx;
  164. }
  165. ::v-deep .submit_btn .submit {
  166. background-color: #f3b574;
  167. color: #ffffff;
  168. font-size: 32rpx;
  169. }
  170. </style>